/* VMESTA 20261006.250 — canonical app overrides, original cascade order. */
/* Consolidated source: release-polish.css */
/* ------------[Файл «release-polish.css»]------------ // Содержит исходный код модуля «оформление интерфейса» и его связанные обработчики. Модуль: «карта исходного кода». Часть 1/1 */
/* VMESTA release polish: crop grid, space menu, poll voters and discussion poll. */
html:root body .vmesta-image-editor-crop {
  border: 2px solid #42e889 !important;
  outline: 9999px solid rgb(2 6 23 / .66) !important;
  background-image:
    linear-gradient(90deg, transparent 0 33%, rgb(255 255 255 / .92) 33% calc(33% + 1px), transparent calc(33% + 1px) 66%, rgb(255 255 255 / .92) 66% calc(66% + 1px), transparent calc(66% + 1px)),
    linear-gradient(0deg, transparent 0 33%, rgb(255 255 255 / .92) 33% calc(33% + 1px), transparent calc(33% + 1px) 66%, rgb(255 255 255 / .92) 66% calc(66% + 1px), transparent calc(66% + 1px)) !important;
  box-shadow: 0 0 0 1px #071425, 0 0 0 3px rgb(255 255 255 / .72), 0 0 1.4rem rgb(66 232 137 / .38) !important;
}

/* VMESTA v117 final cascade guard. */

html:root body .vmesta-image-editor-crop::before,
html:root body .vmesta-image-editor-crop::after {
  content: "" !important;
  position: absolute !important;
  width: .75rem !important;
  height: .75rem !important;
  background: #20a957 !important;
  border: 2px solid #fff !important;
  border-radius: .2rem !important;
  box-shadow: 0 .15rem .55rem rgb(2 6 23 / .5) !important;
}

html:root body .vmesta-image-editor-crop::before { inset: -.42rem auto auto -.42rem !important; }
html:root body .vmesta-image-editor-crop::after { inset: auto -.42rem -.42rem auto !important; }

html:root body.space-route #profile-avatar-card > #space-safety-menu {
  top: 1rem !important;
  left: -2.8rem !important;
  right: auto !important;
  transform: none !important;
}

html:root body.space-route #profile-avatar-card > #space-safety-menu > .profile-safety-trigger {
  width: 2.25rem !important;
  height: 2.9rem !important;
  border-radius: .8rem 0 0 .8rem !important;
  box-shadow: 0 .55rem 1.2rem rgb(15 23 42 / .16) !important;
}

html:root body.space-route #profile-avatar-card > #space-safety-menu > .profile-safety-dropdown {
  top: -.3rem !important;
  left: calc(100% + .7rem) !important;
}

html:root body .space-poll-voters-backdrop {
  padding: 1rem;
  background: rgb(12 20 35 / .68);
  backdrop-filter: blur(12px) saturate(.8);
}

html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog {
  display: flex;
  width: min(40rem, calc(100vw - 1.5rem));
  max-height: min(44rem, 88vh);
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / .62);
  border-radius: 1.45rem;
  background: #f7faff;
  box-shadow: 0 2rem 6rem rgb(5 16 35 / .42);
}

html:root body .space-poll-voters-dialog > header {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) 2.5rem;
  align-items: center;
  gap: .8rem;
  padding: 1.15rem 1.2rem .9rem;
  border: 0;
  background: #fff;
}

html:root body .space-poll-voters-header-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: linear-gradient(145deg, #d9f4e4, #edf7ff);
  color: #168447;
  box-shadow: inset 0 0 0 1px rgb(22 132 71 / .08);
}

html:root body .space-poll-voters-header-icon svg {
  width: 1.45rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html:root body .space-poll-voters-dialog > header > div { min-width: 0; }
html:root body .space-poll-voters-dialog > header > div > span { display: block; color: #219653; font-size: .56rem; font-weight: 950; letter-spacing: .14em; }
html:root body .space-poll-voters-dialog h2 { margin: .14rem 0 0; color: #153f79; font-size: 1.16rem; line-height: 1.15; }
html:root body .space-poll-voters-dialog > header p { margin: .2rem 0 0; color: #7890ae; font-size: .67rem; font-weight: 750; }

html:root body .space-poll-voters-dialog > header > button {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 0;
  border-radius: .82rem;
  background: #e8f3ed;
  color: #287a59;
  transition: transform .18s ease, background .18s ease;
}

html:root body .space-poll-voters-dialog > header > button:hover { transform: rotate(4deg); background: #d7ede1; }
html:root body .space-poll-voters-dialog > header > button svg { width: 1.15rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

html:root body .space-poll-voters-toolbar {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .2rem 1.2rem 1rem;
  background: #fff;
}

html:root body .space-poll-voters-toolbar > label {
  display: grid;
  min-width: 0;
  height: 2.75rem;
  flex: 1;
  grid-template-columns: 1.15rem minmax(0, 1fr) 1.75rem;
  align-items: center;
  gap: .55rem;
  padding: 0 .65rem;
  border: 1px solid #dbe6f2;
  border-radius: .9rem;
  background: #f5f8fc;
  color: #7890ae;
  transition: border-color .18s ease, box-shadow .18s ease;
}

html:root body .space-poll-voters-toolbar > label:focus-within { border-color: #5abd85; box-shadow: 0 0 0 3px rgb(33 150 83 / .1); }
html:root body .space-poll-voters-toolbar svg { width: 1.05rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; }
html:root body .space-poll-voters-toolbar input { min-width: 0; border: 0; outline: 0; background: transparent; color: #173f76; font-size: .75rem; font-weight: 750; }
html:root body .space-poll-voters-toolbar input::placeholder { color: #8aa0ba; }

html:root body .space-poll-voters-toolbar label > button {
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #dfeaf4;
  color: #59738f;
  font-size: 1rem;
}

html:root body #space-poll-voters-result-count {
  display: grid;
  min-width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border-radius: .8rem;
  background: #dff1e7;
  color: #148044;
  font-size: .72rem;
  font-weight: 950;
}

html:root body .space-poll-voters-list {
  display: grid;
  gap: .8rem;
  max-height: none;
  overflow: auto;
  padding: 1rem 1.2rem 1.2rem;
  scrollbar-gutter: stable;
}

html:root body .space-poll-voters-list > .space-poll-voters-group {
  overflow: hidden;
  border: 1px solid #dce7f2;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .35rem 1rem rgb(37 68 109 / .05);
}

html:root body .space-poll-voters-group > header {
  display: grid;
  grid-template-columns: .65rem minmax(0, 1fr) auto;
  align-items: center;
  gap: .55rem;
  padding: .72rem .82rem;
  border-bottom: 1px solid #e8eef5;
  background: #edf4fb;
  color: #174a8b;
}

html:root body .space-poll-voters-choice-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #52b97f; box-shadow: 0 0 0 3px rgb(82 185 127 / .13); }
html:root body .space-poll-voters-group > header strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .space-poll-voters-group > header b { display: grid; min-width: 1.65rem; height: 1.65rem; place-items: center; border-radius: .55rem; background: #fff; color: #168447; font-size: .66rem; }

html:root body .space-poll-voters-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; padding: .55rem; }

html:root body .space-poll-voters-group .space-poll-voter {
  display: grid;
  min-width: 0;
  grid-template-columns: 2.45rem minmax(0, 1fr) 1rem;
  align-items: center;
  gap: .62rem;
  padding: .5rem;
  border: 1px solid transparent;
  border-radius: .82rem;
  background: #f9fbfe;
  color: #174a8b;
  text-align: left;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

html:root body .space-poll-voters-group .space-poll-voter:hover { transform: translateY(-1px); border-color: #c9e6d6; background: #f1faf5; }
html:root body .space-poll-voters-list img,
html:root body .space-poll-voters-list .space-poll-voter > i { display: grid; width: 2.45rem; height: 2.45rem; place-items: center; object-fit: cover; border-radius: .75rem; background: #d9ede2; font-style: normal; }
html:root body .space-poll-voter > span { display: grid; min-width: 0; gap: .08rem; }
html:root body .space-poll-voter > span b { overflow: hidden; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .space-poll-voter > span small { overflow: hidden; color: #7890ae; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .space-poll-voter > svg { width: .9rem; fill: none; stroke: #80a0bd; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
html:root body .space-poll-voters-option-empty { grid-column: 1 / -1; margin: .3rem; padding: .6rem; color: #7890ae; font-size: .66rem; text-align: center; }

html:root body .space-poll-voters-empty { display: grid; place-items: center; gap: .25rem; padding: 2.5rem 1rem; color: #7890ae; text-align: center; }
html:root body .space-poll-voters-empty.hidden { display: none; }
html:root body .space-poll-voters-empty svg { width: 2.3rem; fill: none; stroke: #64ac84; stroke-width: 1.6; stroke-linecap: round; }
html:root body .space-poll-voters-empty strong { color: #174a8b; font-size: .85rem; }
html:root body .space-poll-voters-empty span { font-size: .65rem; }

html:root body .viewer-post-poll:not(.hidden) { display: block; margin: .85rem 0 1rem; }
html:root body .viewer-post-poll .space-post-poll { margin: 0; }
html:root body [onclick*="pinSpacePostByNativeId"][aria-busy="true"] { opacity: .55; pointer-events: none; }

.dark .space-poll-voters-backdrop > .space-poll-voters-dialog { border-color: rgb(255 255 255 / .08); background: #101927; }
.dark .space-poll-voters-dialog > header,
.dark .space-poll-voters-toolbar { background: #111c2b; }
.dark .space-poll-voters-dialog h2,
.dark .space-poll-voters-toolbar input,
.dark .space-poll-voters-empty strong { color: #e8f1ff; }
.dark .space-poll-voters-toolbar > label { border-color: #2b3b4f; background: #182537; }
.dark .space-poll-voters-list > .space-poll-voters-group { border-color: #29394c; background: #152133; box-shadow: none; }
.dark .space-poll-voters-group > header { border-color: #2a3b50; background: #1b2a3e; color: #d7e7ff; }
.dark .space-poll-voters-group > header b { background: #132034; }
.dark .space-poll-voters-group .space-poll-voter { background: #192638; color: #e1ecfa; }
.dark .space-poll-voters-group .space-poll-voter:hover { border-color: #397658; background: #1b302b; }

@media (max-width: 700px) {
  html:root body.space-route #profile-avatar-card > #space-safety-menu { top: .55rem !important; right: .55rem !important; left: auto !important; }
  html:root body.space-route #profile-avatar-card > #space-safety-menu > .profile-safety-trigger { width: 2.2rem !important; height: 2.2rem !important; border-radius: .72rem !important; }
  html:root body.space-route #profile-avatar-card > #space-safety-menu > .profile-safety-dropdown { top: calc(100% + .45rem) !important; right: 0 !important; left: auto !important; }
  html:root body .space-poll-voters-backdrop { padding: .55rem; }
  html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog { width: 100%; max-height: 92vh; border-radius: 1.15rem; }
  html:root body .space-poll-voters-dialog > header { grid-template-columns: 2.5rem minmax(0, 1fr) 2.25rem; padding: .9rem; }
  html:root body .space-poll-voters-header-icon { width: 2.5rem; height: 2.5rem; border-radius: .8rem; }
  html:root body .space-poll-voters-toolbar { padding: .1rem .9rem .8rem; }
  html:root body .space-poll-voters-list { padding: .75rem .9rem 1rem; }
  html:root body .space-poll-voters-group > div { grid-template-columns: 1fr; }
}

/* Stable video-note poster and an explicit upload/loading indicator. */
html:root body .messenger-video-note.has-media-frame:not(.is-uploading):not(.is-downloading) .messenger-media-loading-shimmer {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}

html:root body .messenger-video-note.has-media-frame:not(.is-uploading):not(.is-downloading) {
  background: color-mix(in srgb, var(--msg-accent, #219653) 12%, var(--msg-panel, #e7f3ec)) !important;
}

html:root body .messenger-video-note.is-media-loading .messenger-media-buffer-indicator > svg { display: none; }

html:root body .messenger-video-note.is-media-loading .messenger-media-buffer-indicator::before {
  content: "";
  width: 1.15rem;
  height: 1.15rem;
  border: .16rem solid rgb(255 255 255 / .28);
  border-top-color: #fff;
  border-radius: 50%;
  animation: messenger-video-note-loader-spin .72s linear infinite;
}

html:root body .messenger-video-note.is-uploading .messenger-media-buffer-indicator {
  opacity: 0 !important;
  visibility: hidden !important;
}

html:root body .messenger-video-note > .messenger-video-transfer-button {
  z-index: 18 !important;
  overflow: visible;
  opacity: 1 !important;
  isolation: isolate;
}

html:root body .messenger-video-transfer-button > .messenger-icon {
  position: relative;
  z-index: 2;
}

html:root body .messenger-video-note.is-uploading .messenger-video-transfer-button {
  background: rgb(8 24 38 / .7);
  box-shadow: 0 .5rem 1.4rem rgb(2 6 23 / .3);
}

html:root body .messenger-video-transfer-button .messenger-media-transfer-ring {
  position: absolute;
  z-index: 1;
  inset: -.42rem;
  display: block;
  border-radius: 50%;
  background: conic-gradient(var(--msg-accent, #21a35b) var(--media-transfer-progress, 0%), rgb(255 255 255 / .2) 0);
  box-shadow: 0 0 0 .12rem rgb(255 255 255 / .18), 0 0 1rem color-mix(in srgb, var(--msg-accent, #21a35b) 30%, transparent);
  pointer-events: none;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - .18rem), #000 0);
  mask: radial-gradient(farthest-side, transparent calc(100% - .18rem), #000 0);
}

html:root body .messenger-video-note.is-uploading .messenger-video-transfer-button::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: -.22rem;
  border: .14rem solid transparent;
  border-top-color: #fff;
  border-right-color: rgb(255 255 255 / .55);
  border-radius: 50%;
  animation: messenger-video-note-loader-spin .72s linear infinite;
  pointer-events: none;
}

html:root body .messenger-media-transfer-value {
  position: absolute;
  z-index: 4;
  top: calc(100% + .42rem);
  left: 50%;
  min-width: 2.25rem;
  padding: .16rem .34rem;
  border: 1px solid rgb(255 255 255 / .2);
  border-radius: 999px;
  background: rgb(8 20 35 / .78);
  color: #fff;
  font-size: .5rem;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-align: center;
  transform: translateX(-50%);
  pointer-events: none;
}

@keyframes messenger-video-note-loader-spin { to { transform: rotate(1turn); } }

@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  html:root body .messenger-video-note.is-media-loading .messenger-media-buffer-indicator::before,
  html:root body .messenger-video-note.is-uploading .messenger-video-transfer-button::after {
    animation-duration: 1.8s;
  }
}

/* Telegram-style crop: the frame stays fixed while the photo moves and scales below it. */
html:root body .vmesta-image-editor-zoom {
  display: inline-flex;
  min-width: 10.75rem;
  align-items: center;
  gap: .48rem;
  padding: .38rem .62rem;
  border: 1px solid #dce7f1;
  border-radius: .72rem;
  background: #fff;
  color: #57728f;
  font-size: .62rem;
  font-weight: 900;
}

html:root body .vmesta-image-editor-zoom > svg {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  fill: currentColor;
}

html:root body .vmesta-image-editor-zoom > input {
  width: 6.6rem;
  accent-color: #219653;
}

html:root body .vmesta-image-editor-zoom > span {
  min-width: 2.4rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

html:root body .vmesta-image-editor-stage.is-crop-mode #vmesta-image-editor-paint { cursor: grab !important; }
html:root body .vmesta-image-editor-stage.is-crop-dragging #vmesta-image-editor-paint { cursor: grabbing !important; }

html:root body .vmesta-image-editor-stage.is-crop-mode::after {
  content: "Перетаскивайте фото · колесо или два пальца — масштаб";
  position: absolute;
  z-index: 5;
  bottom: .8rem;
  left: 50%;
  max-width: calc(100% - 2rem);
  padding: .42rem .72rem;
  border: 1px solid rgb(255 255 255 / .2);
  border-radius: 999px;
  background: rgb(4 13 27 / .74);
  color: #fff;
  font-size: clamp(.55rem, 1.6vw, .7rem);
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
  pointer-events: none;
  backdrop-filter: blur(8px);
}

html:root body .vmesta-image-editor-text-layer {
  position: absolute;
  z-index: 4;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

html:root body .vmesta-image-editor-text-object {
  --editor-text-size: 32px;
  --editor-text-color: #ff315f;
  position: absolute;
  min-width: 6rem;
  padding: .35rem;
  border: 1px dashed rgb(255 255 255 / .92);
  border-radius: .55rem;
  background: rgb(4 13 27 / .16);
  box-shadow: 0 0 0 1px rgb(9 22 41 / .5), 0 .5rem 1.4rem rgb(2 6 23 / .2);
  pointer-events: auto;
  backdrop-filter: blur(1px);
}

html:root body .vmesta-image-editor-text-object textarea {
  display: block;
  width: 100%;
  min-height: 2.25rem;
  max-height: 65vh;
  overflow: hidden;
  resize: none;
  border: 0;
  outline: 0;
  padding: .18rem .3rem;
  background: transparent;
  color: var(--editor-text-color);
  font: 800 var(--editor-text-size)/1.16 Inter, Arial, sans-serif;
  text-shadow: 0 .08em .15em rgb(0 0 0 / .48);
  caret-color: #fff;
}

html:root body .vmesta-image-editor-text-object textarea::placeholder { color: rgb(255 255 255 / .78); }

html:root body .vmesta-image-editor-text-move,
html:root body .vmesta-image-editor-text-delete,
html:root body .vmesta-image-editor-text-resize {
  position: absolute;
  z-index: 2;
  display: grid;
  width: 1.65rem;
  height: 1.65rem;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  padding: 0;
  background: #1d9a52;
  color: #fff;
  box-shadow: 0 .25rem .7rem rgb(2 6 23 / .35);
  cursor: grab;
  touch-action: none;
}

html:root body .vmesta-image-editor-text-move { top: -.85rem; left: -.85rem; }
html:root body .vmesta-image-editor-text-delete { top: -.85rem; right: -.85rem; background: #e94a59; font-size: 1.18rem; cursor: pointer; }
html:root body .vmesta-image-editor-text-resize { right: -.85rem; bottom: -.85rem; cursor: nwse-resize; }
html:root body .vmesta-image-editor-text-object button svg { width: .92rem; height: .92rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.dark html:root body .vmesta-image-editor-zoom,
html:root body.dark .vmesta-image-editor-zoom {
  border-color: #34445b;
  background: #19263a;
  color: #b7c6d7;
}

@media (max-width: 700px) {
  html:root body .vmesta-image-editor-zoom { min-width: 9.2rem; padding: .32rem .45rem; }
  html:root body .vmesta-image-editor-zoom > input { width: 5rem; }
  html:root body .vmesta-image-editor-stage.is-crop-mode::after { bottom: .55rem; }
  html:root body .vmesta-image-editor-text-object { min-width: 5rem; }
}

/* Keep the voice-note play icon centered; the transfer ring must not occupy a grid row. */
html:root body .messenger-voice-note-toggle {
  position: relative !important;
  grid-template: 1fr / 1fr !important;
  overflow: visible !important;
  isolation: isolate;
}

html:root body .messenger-voice-note-toggle > .messenger-media-transfer-ring {
  position: absolute !important;
  z-index: 1;
  inset: 0 !important;
  display: none !important;
  width: auto !important;
  height: auto !important;
  pointer-events: none;
}

html:root body .messenger-voice-note-toggle > .messenger-icon {
  position: relative !important;
  z-index: 2;
  grid-area: 1 / 1 !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  transform: none !important;
}

/* One stable center for the video-note placeholder, loader and Play icon. */
html:root body .messenger-video-note > .messenger-media-buffer-indicator {
  top: 50% !important;
  left: 50% !important;
  display: grid !important;
  width: 2.55rem !important;
  height: 2.55rem !important;
  grid-template: 1fr / 1fr !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
  transform-origin: center !important;
  transition: opacity .16s ease, visibility .16s ease, background-color .16s ease !important;
}

html:root body .messenger-video-note > .messenger-media-buffer-indicator > .messenger-icon {
  position: relative !important;
  z-index: 2;
  display: grid !important;
  width: 1rem !important;
  height: 1rem !important;
  grid-area: 1 / 1 !important;
  place-items: center !important;
  margin: 0 !important;
  transform: none !important;
  transform-origin: center !important;
}

html:root body .messenger-video-note.is-media-loading > .messenger-media-buffer-indicator > .messenger-icon {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
}

html:root body .messenger-video-note.is-media-loading > .messenger-media-buffer-indicator::before {
  z-index: 3;
  grid-area: 1 / 1 !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
}

/* Poll voters modal in the VMESTA visual language. */
html:root body .space-poll-voters-backdrop {
  padding: 1rem !important;
  background: rgb(18 31 48 / .7) !important;
  backdrop-filter: blur(14px) saturate(.82) !important;
}

html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog {
  position: relative;
  width: min(36rem, calc(100vw - 1.5rem)) !important;
  max-height: min(46rem, 90dvh) !important;
  border: 1px solid rgb(255 255 255 / .7) !important;
  border-radius: 1.55rem !important;
  background: var(--theme-surface-panel, #fff) !important;
  box-shadow: 0 2rem 6rem rgb(5 18 37 / .42), 0 .4rem 1.5rem rgb(5 18 37 / .16) !important;
}

html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  left: 1.6rem;
  right: 1.6rem;
  height: .22rem;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, #258d54, #54bd82 55%, #75a8d8);
}

html:root body .space-poll-voters-dialog > header {
  grid-template-columns: 2.85rem minmax(0, 1fr) auto 2.4rem !important;
  gap: .78rem !important;
  padding: 1.2rem 1.25rem 1rem !important;
  border-bottom: 0 !important;
  background: var(--theme-surface-panel, #fff) !important;
}

html:root body .space-poll-voters-header-icon {
  width: 2.85rem !important;
  height: 2.85rem !important;
  border-radius: .95rem !important;
  background: linear-gradient(145deg, #d9f3e4, #edf6ff) !important;
  color: #198c4b !important;
}

html:root body .space-poll-voters-dialog > header > div > span { color: #258d54 !important; }
html:root body .space-poll-voters-dialog h2 { color: #164a83 !important; font-size: 1.08rem !important; }
html:root body .space-poll-voters-dialog > header p { font-size: .62rem !important; font-weight: 700 !important; }

html:root body .space-poll-voters-total {
  display: grid;
  min-width: 3.7rem;
  justify-items: end;
  gap: .06rem;
  padding-right: .15rem;
}

html:root body .space-poll-voters-total b { color: #198c4b; font-size: 1.05rem; font-variant-numeric: tabular-nums; line-height: 1; }
html:root body .space-poll-voters-total small { color: #7b91aa; font-size: .5rem; font-weight: 800; }

html:root body .space-poll-voters-toolbar {
  gap: .6rem !important;
  margin: 0 1.1rem .9rem;
  padding: .48rem !important;
  border: 1px solid #e0e9f2;
  border-radius: 1rem;
  background: #f4f8fc !important;
}

html:root body .space-poll-voters-toolbar > label {
  height: 2.55rem !important;
  border: 0 !important;
  border-radius: .78rem !important;
  background: #fff !important;
  box-shadow: 0 .15rem .6rem rgb(34 68 108 / .06);
}

html:root body .space-poll-voters-found {
  display: grid;
  min-width: 3.45rem;
  height: 2.55rem;
  place-content: center;
  justify-items: center;
  border-radius: .78rem;
  background: #e1f2e8;
  color: #177f46;
}

html:root body .space-poll-voters-found small { font-size: .43rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
html:root body .space-poll-voters-found b { font-size: .73rem; font-variant-numeric: tabular-nums; line-height: 1.05; }
html:root body #space-poll-voters-result-count { display: block !important; min-width: 0 !important; height: auto !important; border-radius: 0 !important; background: none !important; }

html:root body .space-poll-voters-list {
  gap: .7rem !important;
  padding: .95rem 1.1rem 1.15rem !important;
  border-top: 1px solid #e8eef5;
  background: #f3f7fb;
}

html:root body .space-poll-voters-list > .space-poll-voters-group {
  border: 1px solid #dce7f1 !important;
  border-radius: 1rem !important;
  background: #fff !important;
  box-shadow: 0 .3rem 1rem rgb(28 62 103 / .045) !important;
}

html:root body .space-poll-voters-group > header {
  grid-template-columns: .55rem minmax(0, 1fr) auto !important;
  gap: .68rem !important;
  padding: .72rem .8rem !important;
  border-bottom: 1px solid #e9eff5 !important;
  background: linear-gradient(90deg, #edf7f1, #f4f8fc 72%) !important;
  text-align: left !important;
}

html:root body .space-poll-voters-choice-copy { display: grid; min-width: 0; gap: .12rem; }
html:root body .space-poll-voters-choice-copy small { color: #6ea082; font-size: .46rem; font-weight: 950; letter-spacing: .1em; }
html:root body .space-poll-voters-choice-copy strong { overflow: hidden; color: #174a83; font-size: .73rem !important; text-align: left !important; text-overflow: ellipsis; white-space: nowrap; }

html:root body .space-poll-voters-group > header > b {
  display: grid !important;
  min-width: 3.15rem !important;
  height: 2rem !important;
  grid-template-columns: auto auto;
  place-content: center;
  align-items: baseline;
  gap: .2rem;
  border: 1px solid #d8ebdf;
  border-radius: .7rem !important;
  background: #fff !important;
}

html:root body .space-poll-voters-group > header > b > span { color: #178247; font-size: .72rem; }
html:root body .space-poll-voters-group > header > b > small { color: #7b92aa; font-size: .46rem; font-weight: 800; }
html:root body .space-poll-voters-group > div { grid-template-columns: 1fr !important; gap: .4rem !important; padding: .48rem !important; }

html:root body .space-poll-voters-group .space-poll-voter {
  grid-template-columns: 2.5rem minmax(0, 1fr) 1.8rem !important;
  gap: .65rem !important;
  min-height: 3.35rem;
  padding: .42rem .48rem !important;
  border: 1px solid transparent !important;
  border-radius: .82rem !important;
  background: #f8fafc !important;
}

html:root body .space-poll-voters-group .space-poll-voter:hover {
  border-color: #cce5d7 !important;
  background: #f0f9f4 !important;
  box-shadow: 0 .25rem .8rem rgb(29 108 65 / .07);
}

html:root body .space-poll-voter-avatar { position: relative; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; }
html:root body .space-poll-voter-avatar img,
html:root body .space-poll-voter-avatar > i { display: grid !important; width: 2.5rem !important; height: 2.5rem !important; place-items: center; object-fit: cover; border: 2px solid #fff; border-radius: 50% !important; background: #dcefe4; box-shadow: 0 0 0 1px #d4e3ed; font-style: normal; }
html:root body .space-poll-voter-avatar > em { position: absolute; right: -.02rem; bottom: .06rem; width: .58rem; height: .58rem; border: 2px solid #fff; border-radius: 50%; background: #41b873; }
html:root body .space-poll-voter-copy { display: grid; min-width: 0; gap: .12rem; text-align: left; }
html:root body .space-poll-voter-copy b { overflow: hidden; color: #174a83; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .space-poll-voter-copy small { overflow: hidden; color: #7890aa; font-size: .53rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .space-poll-voter-open { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: .58rem; background: #e8f1f8; color: #5f83a7; transition: background .16s ease, color .16s ease, transform .16s ease; }
html:root body .space-poll-voter:hover .space-poll-voter-open { background: #269555; color: #fff; transform: translateX(1px); }
html:root body .space-poll-voter-open svg { width: .8rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
html:root body .space-poll-voters-option-empty { margin: 0 !important; padding: .85rem !important; border-radius: .72rem; background: #f8fafc; }

.dark .space-poll-voters-list,
html.dark:root body .space-poll-voters-list { border-color: #29384b; background: #0f1928; }
.dark .space-poll-voters-toolbar,
html.dark:root body .space-poll-voters-toolbar { border-color: #2a3a4e; background: #142033 !important; }
.dark .space-poll-voters-toolbar > label,
html.dark:root body .space-poll-voters-toolbar > label { background: #19273a !important; }
.dark .space-poll-voters-list > .space-poll-voters-group,
html.dark:root body .space-poll-voters-list > .space-poll-voters-group { border-color: #2b3b4f !important; background: #152133 !important; }
.dark .space-poll-voters-group > header,
html.dark:root body .space-poll-voters-group > header { border-color: #2c3d51 !important; background: linear-gradient(90deg, #173226, #1a293d) !important; }
.dark .space-poll-voters-group .space-poll-voter,
html.dark:root body .space-poll-voters-group .space-poll-voter { background: #192638 !important; }

@media (max-width: 700px) {
  html:root body .space-poll-voters-backdrop { padding: .45rem !important; }
  html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog { width: 100% !important; max-height: 94dvh !important; border-radius: 1.15rem !important; }
  html:root body .space-poll-voters-dialog > header { grid-template-columns: 2.55rem minmax(0, 1fr) 2.25rem !important; padding: .9rem !important; }
  html:root body .space-poll-voters-header-icon { width: 2.55rem !important; height: 2.55rem !important; }
  html:root body .space-poll-voters-total { display: none; }
  html:root body .space-poll-voters-toolbar { margin: 0 .75rem .7rem; }
  html:root body .space-poll-voters-list { padding: .75rem !important; }
  html:root body .space-poll-voters-group > header > b { min-width: 2rem !important; grid-template-columns: 1fr; }
  html:root body .space-poll-voters-group > header > b > small { display: none; }
}

/* Poll voters v52: restrained VMESTA layout using the site's real theme tokens and original copy. */
html:root body .space-poll-voters-backdrop {
  background: rgb(15 23 42 / .62) !important;
  backdrop-filter: blur(8px) !important;
}

html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog {
  width: min(34rem, calc(100vw - 1.5rem)) !important;
  max-height: min(42rem, 88dvh) !important;
  border: 1px solid color-mix(in srgb, var(--theme-text-muted) 22%, transparent) !important;
  border-radius: 1.2rem !important;
  background: var(--theme-surface-panel) !important;
  box-shadow: 0 1.7rem 5rem rgb(15 23 42 / .34) !important;
  color: var(--theme-text-primary) !important;
}

html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog::before { content: none !important; display: none !important; }

html:root body .space-poll-voters-dialog > header {
  grid-template-columns: 2.6rem minmax(0, 1fr) 2.25rem !important;
  gap: .75rem !important;
  padding: 1rem !important;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-text-muted) 18%, transparent) !important;
  background: var(--theme-surface-panel) !important;
}

html:root body .space-poll-voters-header-icon {
  width: 2.6rem !important;
  height: 2.6rem !important;
  border-radius: .78rem !important;
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--theme-surface-panel)) !important;
  color: var(--theme-accent) !important;
  box-shadow: none !important;
}

html:root body .space-poll-voters-header-icon svg { width: 1.2rem !important; }
html:root body .space-poll-voters-dialog > header > div > span { color: var(--theme-accent) !important; font-size: .52rem !important; letter-spacing: .13em !important; }
html:root body .space-poll-voters-dialog h2 { margin-top: .12rem !important; color: var(--theme-text-primary) !important; font-size: 1.02rem !important; font-weight: 850 !important; }
html:root body .space-poll-voters-dialog > header p { margin-top: .18rem !important; color: var(--theme-text-muted) !important; font-size: .6rem !important; font-weight: 700 !important; }

html:root body .space-poll-voters-dialog > header > button {
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: .68rem !important;
  background: var(--theme-surface-nested) !important;
  color: var(--theme-text-secondary) !important;
  transform: none !important;
}

html:root body .space-poll-voters-dialog > header > button:hover { background: var(--theme-surface-active) !important; color: var(--theme-text-primary) !important; transform: none !important; }

html:root body .space-poll-voters-toolbar {
  gap: .55rem !important;
  margin: 0 !important;
  padding: .75rem 1rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--theme-surface-panel) !important;
}

html:root body .space-poll-voters-toolbar > label {
  height: 2.45rem !important;
  border: 1px solid color-mix(in srgb, var(--theme-text-muted) 22%, transparent) !important;
  border-radius: .72rem !important;
  background: var(--theme-surface-nested) !important;
  box-shadow: none !important;
}

html:root body .space-poll-voters-toolbar > label:focus-within {
  border-color: color-mix(in srgb, var(--theme-accent) 58%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-accent) 10%, transparent) !important;
}

html:root body .space-poll-voters-toolbar svg { color: var(--theme-text-muted) !important; }
html:root body .space-poll-voters-toolbar input { color: var(--theme-text-primary) !important; font-size: .7rem !important; font-weight: 700 !important; }
html:root body .space-poll-voters-toolbar input::placeholder { color: var(--theme-text-muted) !important; }
html:root body .space-poll-voters-toolbar label > button { background: var(--theme-surface-active) !important; color: var(--theme-text-secondary) !important; }

html:root body #space-poll-voters-result-count {
  display: grid !important;
  min-width: 2.45rem !important;
  height: 2.45rem !important;
  place-items: center !important;
  border-radius: .72rem !important;
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--theme-surface-panel)) !important;
  color: var(--theme-accent) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
}

html:root body .space-poll-voters-list {
  gap: .62rem !important;
  padding: .78rem 1rem 1rem !important;
  border-top: 1px solid color-mix(in srgb, var(--theme-text-muted) 14%, transparent) !important;
  background: var(--theme-surface-page) !important;
}

html:root body .space-poll-voters-list > .space-poll-voters-group {
  border: 1px solid color-mix(in srgb, var(--theme-text-muted) 20%, transparent) !important;
  border-radius: .82rem !important;
  background: var(--theme-surface-panel) !important;
  box-shadow: none !important;
}

html:root body .space-poll-voters-group > header {
  grid-template-columns: .45rem minmax(0, 1fr) auto !important;
  gap: .58rem !important;
  padding: .66rem .72rem !important;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-text-muted) 15%, transparent) !important;
  background: var(--theme-surface-panel) !important;
  color: var(--theme-text-primary) !important;
  text-align: left !important;
}

html:root body .space-poll-voters-choice-dot {
  width: .42rem !important;
  height: .42rem !important;
  background: var(--theme-accent) !important;
  box-shadow: none !important;
}

html:root body .space-poll-voters-group > header > strong {
  overflow: hidden;
  color: var(--theme-text-primary) !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  text-align: left !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html:root body .space-poll-voters-group > header > b {
  display: grid !important;
  min-width: 1.7rem !important;
  height: 1.7rem !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: .55rem !important;
  background: var(--theme-surface-nested) !important;
  color: var(--theme-text-secondary) !important;
  font-size: .63rem !important;
  font-weight: 900 !important;
}

html:root body .space-poll-voters-group > div {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  padding: .18rem .65rem !important;
}

html:root body .space-poll-voters-group .space-poll-voter {
  grid-template-columns: 2.15rem minmax(0, 1fr) 1rem !important;
  gap: .58rem !important;
  min-height: 3rem !important;
  padding: .42rem 0 !important;
  border: 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-text-muted) 12%, transparent) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html:root body .space-poll-voters-group .space-poll-voter:last-child { border-bottom: 0 !important; }
html:root body .space-poll-voters-group .space-poll-voter:hover { background: color-mix(in srgb, var(--theme-accent) 5%, transparent) !important; box-shadow: none !important; transform: none !important; }

html:root body .space-poll-voter-avatar { width: 2.15rem !important; height: 2.15rem !important; }
html:root body .space-poll-voter-avatar img,
html:root body .space-poll-voter-avatar > i {
  width: 2.15rem !important;
  height: 2.15rem !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--theme-surface-nested) !important;
  box-shadow: none !important;
}

html:root body .space-poll-voter-avatar > em { display: none !important; }
html:root body .space-poll-voter-copy { gap: .08rem !important; }
html:root body .space-poll-voter-copy b { color: var(--theme-text-primary) !important; font-size: .68rem !important; font-weight: 800 !important; }
html:root body .space-poll-voter-copy small { color: var(--theme-text-muted) !important; font-size: .53rem !important; }
html:root body .space-poll-voter-open { width: 1rem !important; height: 1rem !important; border-radius: 0 !important; background: transparent !important; color: var(--theme-text-muted) !important; transform: none !important; }
html:root body .space-poll-voter:hover .space-poll-voter-open { background: transparent !important; color: var(--theme-accent) !important; transform: translateX(1px) !important; }

html:root body .space-poll-voters-option-empty {
  margin: 0 !important;
  padding: .78rem .2rem !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--theme-text-muted) !important;
  font-size: .6rem !important;
}

html:root body .space-poll-voters-empty { color: var(--theme-text-muted) !important; }
html:root body .space-poll-voters-empty strong { color: var(--theme-text-primary) !important; }
html:root body .space-poll-voters-empty svg { stroke: var(--theme-accent) !important; }

@media (max-width: 700px) {
  html:root body .space-poll-voters-dialog > header { grid-template-columns: 2.4rem minmax(0, 1fr) 2.2rem !important; padding: .8rem !important; }
  html:root body .space-poll-voters-header-icon { width: 2.4rem !important; height: 2.4rem !important; }
  html:root body .space-poll-voters-toolbar { padding: .65rem .8rem !important; }
  html:root body .space-poll-voters-list { padding: .65rem .8rem .8rem !important; }
}

/* Poll voters v53: no outlines, all copy aligned left, participant icon. */
html:root body .space-poll-voters-backdrop > .space-poll-voters-dialog {
  border: 0 !important;
  text-align: left !important;
}

html:root body .space-poll-voters-dialog > header {
  border-bottom: 0 !important;
  text-align: left !important;
}

html:root body .space-poll-voters-dialog > header > div {
  display: grid !important;
  width: 100% !important;
  justify-self: stretch !important;
  justify-items: start !important;
  text-align: left !important;
}

html:root body .space-poll-voters-dialog > header > div > span,
html:root body .space-poll-voters-dialog > header h2,
html:root body .space-poll-voters-dialog > header p {
  width: 100% !important;
  text-align: left !important;
}

html:root body .space-poll-voters-header-icon svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html:root body .space-poll-voters-toolbar > label {
  border: 0 !important;
  text-align: left !important;
}

html:root body .space-poll-voters-toolbar > label:focus-within {
  border: 0 !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-accent) 10%, transparent) !important;
}

html:root body .space-poll-voters-toolbar input { text-align: left !important; }

html:root body .space-poll-voters-list {
  border-top: 0 !important;
  text-align: left !important;
}

html:root body .space-poll-voters-list > .space-poll-voters-group {
  border: 0 !important;
  box-shadow: none !important;
}

html:root body .space-poll-voters-group > header {
  border-bottom: 0 !important;
  text-align: left !important;
}

html:root body .space-poll-voters-group > header > strong {
  display: block !important;
  width: 100% !important;
  justify-self: stretch !important;
  text-align: left !important;
}

html:root body .space-poll-voters-group .space-poll-voter {
  border: 0 !important;
  text-align: left !important;
}

html:root body .space-poll-voter-copy,
html:root body .space-poll-voter-copy b,
html:root body .space-poll-voter-copy small {
  width: 100% !important;
  justify-items: start !important;
  text-align: left !important;
}

html:root body .space-poll-voters-option-empty {
  padding: .72rem .15rem !important;
  text-align: left !important;
}

html:root body .space-poll-voters-empty {
  justify-items: start !important;
  text-align: left !important;
}

/* Poll voters v54: cover-library accordion pattern for long voter lists. */
html:root body .space-poll-voters-list {
  display: grid !important;
  align-content: start !important;
  gap: .62rem !important;
  background: var(--theme-surface-nested) !important;
}

html:root body .space-poll-voters-list > .space-poll-voters-group {
  align-self: start !important;
  min-height: max-content !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: .9rem !important;
  background: var(--theme-surface-panel) !important;
  box-shadow: none !important;
}

html:root body .space-poll-voters-group-toggle {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: .72rem !important;
  border: 0 !important;
  padding: .78rem .9rem !important;
  background: transparent !important;
  color: var(--theme-text-primary) !important;
  text-align: left !important;
  cursor: pointer !important;
}

html:root body .space-poll-voters-group-toggle:hover {
  background: color-mix(in srgb, var(--theme-accent) 4%, transparent) !important;
}

html:root body .space-poll-voters-group-toggle:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--theme-accent) 34%, transparent) !important;
  outline-offset: -2px !important;
}

html:root body .space-poll-voters-group-toggle:disabled {
  opacity: 1 !important;
  cursor: default !important;
}

html:root body .space-poll-voters-group-toggle:disabled:hover { background: transparent !important; }

html:root body .space-poll-voters-group-copy {
  display: grid !important;
  min-width: 0 !important;
  gap: .16rem !important;
  justify-items: start !important;
  text-align: left !important;
}

html:root body .space-poll-voters-group-copy strong {
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
  color: var(--theme-text-primary) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html:root body .space-poll-voters-group-copy small {
  color: var(--theme-text-muted) !important;
  font-size: .55rem !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

html:root body .space-poll-voters-group-toggle > em {
  display: grid !important;
  min-width: 1.55rem !important;
  min-height: 1.45rem !important;
  place-items: center !important;
  border-radius: .55rem !important;
  padding: .24rem .42rem !important;
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--theme-surface-panel)) !important;
  color: var(--theme-accent) !important;
  font-size: .55rem !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
}

html:root body .space-poll-voters-group-toggle > svg {
  width: .95rem !important;
  height: .95rem !important;
  fill: none !important;
  stroke: var(--theme-accent) !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  transition: transform .2s ease !important;
}

html:root body .space-poll-voters-group-toggle:disabled > svg { visibility: hidden !important; }
html:root body .space-poll-voters-group.is-open .space-poll-voters-group-toggle > svg { transform: rotate(180deg) !important; }

html:root body .space-poll-voters-group > .space-poll-voters-group-body {
  display: grid !important;
  max-height: min(18rem, 42vh) !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: .18rem .72rem .55rem !important;
  background: var(--theme-surface-panel) !important;
  scrollbar-gutter: stable !important;
}

html:root body .space-poll-voters-group > .space-poll-voters-group-body.hidden { display: none !important; }

html:root body .space-poll-voters-group-body .space-poll-voter {
  min-height: 3.1rem !important;
  border: 0 !important;
  border-radius: .7rem !important;
  padding: .44rem .48rem !important;
}

html:root body .space-poll-voters-group-body .space-poll-voter:hover {
  background: var(--theme-surface-nested) !important;
}

@media (max-width: 700px) {
  html:root body .space-poll-voters-group-toggle { padding: .72rem .75rem !important; }
  html:root body .space-poll-voters-group > .space-poll-voters-group-body { max-height: min(16rem, 38vh) !important; padding-inline: .55rem !important; }
}

/* Photo crop v56: freely resizable frame with eight clear drag handles. */
html:root body .vmesta-image-editor-crop {
  pointer-events: none !important;
  touch-action: none !important;
}

html:root body .vmesta-image-editor-crop::before,
html:root body .vmesta-image-editor-crop::after {
  display: none !important;
  content: none !important;
}

html:root body .vmesta-image-editor-crop > [data-crop-handle] {
  position: absolute !important;
  z-index: 2 !important;
  display: block !important;
  width: .9rem !important;
  height: .9rem !important;
  border: 2px solid #fff !important;
  border-radius: .24rem !important;
  padding: 0 !important;
  background: #20a957 !important;
  box-shadow: 0 .12rem .5rem rgb(2 6 23 / .55) !important;
  pointer-events: auto !important;
  touch-action: none !important;
}

html:root body .vmesta-image-editor-crop > [data-crop-handle="nw"] { top: -.5rem !important; left: -.5rem !important; cursor: nwse-resize !important; }
html:root body .vmesta-image-editor-crop > [data-crop-handle="ne"] { top: -.5rem !important; right: -.5rem !important; cursor: nesw-resize !important; }
html:root body .vmesta-image-editor-crop > [data-crop-handle="se"] { right: -.5rem !important; bottom: -.5rem !important; cursor: nwse-resize !important; }
html:root body .vmesta-image-editor-crop > [data-crop-handle="sw"] { bottom: -.5rem !important; left: -.5rem !important; cursor: nesw-resize !important; }

html:root body .vmesta-image-editor-crop > [data-crop-handle="n"],
html:root body .vmesta-image-editor-crop > [data-crop-handle="s"] {
  left: 50% !important;
  width: 1.7rem !important;
  height: .72rem !important;
  transform: translateX(-50%) !important;
  cursor: ns-resize !important;
}

html:root body .vmesta-image-editor-crop > [data-crop-handle="n"] { top: -.42rem !important; }
html:root body .vmesta-image-editor-crop > [data-crop-handle="s"] { bottom: -.42rem !important; }

html:root body .vmesta-image-editor-crop > [data-crop-handle="e"],
html:root body .vmesta-image-editor-crop > [data-crop-handle="w"] {
  top: 50% !important;
  width: .72rem !important;
  height: 1.7rem !important;
  transform: translateY(-50%) !important;
  cursor: ew-resize !important;
}

html:root body .vmesta-image-editor-crop > [data-crop-handle="e"] { right: -.42rem !important; }
html:root body .vmesta-image-editor-crop > [data-crop-handle="w"] { left: -.42rem !important; }

html:root body .vmesta-image-editor-stage.is-crop-resizing #vmesta-image-editor-paint { cursor: default !important; }
html:root body .vmesta-image-editor-stage.is-crop-mode::after { content: "Тяните края и углы · фото можно двигать и масштабировать" !important; }

@media (max-width: 700px) {
  html:root body .vmesta-image-editor-crop > [data-crop-handle] { width: 1rem !important; height: 1rem !important; }
  html:root body .vmesta-image-editor-crop > [data-crop-handle="n"],
  html:root body .vmesta-image-editor-crop > [data-crop-handle="s"] { width: 2rem !important; height: .82rem !important; }
  html:root body .vmesta-image-editor-crop > [data-crop-handle="e"],
  html:root body .vmesta-image-editor-crop > [data-crop-handle="w"] { width: .82rem !important; height: 2rem !important; }
}

/* Space menu and unified poll voters v57. */
@media (min-width: 701px) {
  html:root body.space-route #profile-avatar-card > #space-safety-menu {
    top: .6rem !important;
    right: auto !important;
    left: -.9rem !important;
    transform: none !important;
  }

  html:root body.space-route #profile-avatar-card > #space-safety-menu > .profile-safety-trigger {
    width: 1.8rem !important;
    height: 2.75rem !important;
    border-radius: .75rem 0 0 .75rem !important;
    box-shadow: 0 .35rem .9rem rgb(15 23 42 / .14) !important;
  }

  html:root body.space-route #profile-avatar-card > #space-safety-menu > .profile-safety-dropdown {
    top: 0 !important;
    right: auto !important;
    left: calc(100% + .45rem) !important;
    width: min(15.2rem, calc(100vw - 2rem)) !important;
  }
}

html:root body .space-post-poll-footer-actions > .space-post-poll-voters-trigger {
  display: inline-flex !important;
  min-height: 1.7rem !important;
  align-items: center !important;
  gap: .5rem !important;
  border: 0 !important;
  border-radius: .6rem !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--theme-text-primary) !important;
  cursor: pointer !important;
}

html:root body .space-post-poll-footer-actions > .space-post-poll-voters-trigger:hover,
html:root body .space-post-poll-footer-actions > .space-post-poll-voters-trigger:focus-visible {
  background: color-mix(in srgb, var(--theme-accent) 7%, transparent) !important;
  outline: 0 !important;
}

html:root body .space-post-poll-voters-trigger > span {
  border-radius: .55rem !important;
  padding: .35rem .55rem !important;
  background: color-mix(in srgb, var(--theme-accent) 12%, var(--theme-surface-panel)) !important;
  color: var(--theme-accent) !important;
  font-weight: 900 !important;
}

html:root body .space-post-poll-voters-trigger > b { color: var(--theme-text-primary) !important; }
html:root body .space-post-poll-voters-trigger > *,
html:root body.messages-route .messenger-poll-voters-trigger > * { pointer-events: none !important; }

html:root body.messages-route .messenger-poll-voters-trigger {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
}

html:root body > #space-safety-dropdown {
  z-index: 4200 !important;
  width: min(15.2rem, calc(100vw - 1.5rem)) !important;
  border-color: color-mix(in srgb, var(--theme-accent) 14%, var(--theme-border)) !important;
  background: var(--theme-surface-panel) !important;
  color: var(--theme-text-primary) !important;
  box-shadow: 0 1rem 2.5rem rgb(15 40 74 / .2) !important;
}

html:root body .messenger-poll-voters-popover {
  display: grid !important;
  width: min(34rem, calc(100vw - 1.5rem)) !important;
  max-height: min(42rem, calc(100dvh - 1.5rem)) !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 1.2rem !important;
  background: var(--theme-surface-panel) !important;
  color: var(--theme-text-primary) !important;
  box-shadow: 0 1.7rem 5rem rgb(15 23 42 / .34) !important;
}

html:root body .messenger-poll-voters-popover::after { display: none !important; content: none !important; }

html:root body .messenger-poll-voters-popover > .messenger-poll-voters-header {
  display: grid !important;
  grid-template-columns: 2.6rem minmax(0, 1fr) 2.25rem !important;
  align-items: center !important;
  gap: .75rem !important;
  padding: 1rem !important;
  border: 0 !important;
  background: var(--theme-surface-panel) !important;
  text-align: left !important;
}

html:root body .messenger-poll-voters-header > div {
  display: grid !important;
  min-width: 0 !important;
  justify-items: start !important;
}

html:root body .messenger-poll-voters-header .messenger-kicker {
  color: var(--theme-accent) !important;
  font-size: .52rem !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
}

html:root body .messenger-poll-voters-header h2 {
  margin: .12rem 0 0 !important;
  color: var(--theme-text-primary) !important;
  font-size: 1.02rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
}

html:root body .messenger-poll-voters-header p {
  margin: .18rem 0 0 !important;
  color: var(--theme-text-muted) !important;
  font-size: .6rem !important;
  font-weight: 700 !important;
}

html:root body .messenger-poll-voters-popover > .messenger-poll-voters-header > button {
  display: grid !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: .68rem !important;
  background: var(--theme-surface-nested) !important;
  color: var(--theme-text-secondary) !important;
  cursor: pointer !important;
}

html:root body .messenger-poll-voters-header > button:hover {
  background: var(--theme-surface-active) !important;
  color: var(--theme-text-primary) !important;
}

html:root body .messenger-poll-voters-header > button .messenger-icon { width: 1rem !important; height: 1rem !important; }

html:root body .messenger-poll-voters-popover > .messenger-poll-voters-toolbar {
  display: flex !important;
  gap: .55rem !important;
  padding: .75rem 1rem !important;
  background: var(--theme-surface-panel) !important;
}

html:root body .messenger-poll-voters-toolbar > label {
  height: 2.45rem !important;
  grid-template-columns: 1.15rem minmax(0, 1fr) !important;
  border: 0 !important;
  border-radius: .72rem !important;
  background: var(--theme-surface-nested) !important;
}

html:root body .messenger-poll-voters-toolbar > label:focus-within {
  border: 0 !important;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-accent) 10%, transparent) !important;
}

html:root body .messenger-poll-voters-toolbar input { text-align: left !important; }

html:root body #messenger-poll-voters-result-count {
  display: grid !important;
  min-width: 2.45rem !important;
  height: 2.45rem !important;
  place-items: center !important;
  border-radius: .72rem !important;
  background: color-mix(in srgb, var(--theme-accent) 10%, var(--theme-surface-panel)) !important;
  color: var(--theme-accent) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
}

html:root body .messenger-poll-voters-popover > .messenger-poll-voters-list {
  display: grid !important;
  min-height: 0 !important;
  align-content: start !important;
  gap: .62rem !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: .78rem 1rem 1rem !important;
  background: var(--theme-surface-nested) !important;
  scrollbar-gutter: stable !important;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-group {
  gap: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: .9rem !important;
  padding: 0 !important;
  background: var(--theme-surface-panel) !important;
  box-shadow: none !important;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-group-body {
  display: grid !important;
  max-height: min(18rem, 42vh) !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: .18rem .72rem .55rem !important;
  background: var(--theme-surface-panel) !important;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-group-body.hidden { display: none !important; }
html:root body .messenger-poll-voters-popover .messenger-poll-voter-row.hidden { display: none !important; }

html:root body .messenger-poll-voters-popover .messenger-poll-voter-row {
  min-height: 3.1rem !important;
  grid-template-columns: 2.15rem minmax(0, 1fr) 1rem !important;
  gap: .58rem !important;
  border: 0 !important;
  border-radius: .7rem !important;
  padding: .44rem .48rem !important;
  background: transparent !important;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-row:hover { background: var(--theme-surface-nested) !important; }
html:root body .messenger-poll-voters-popover .messenger-poll-voter-row .messenger-avatar { width: 2.15rem !important; height: 2.15rem !important; }

@media (max-width: 700px) {
  html:root body .messenger-poll-voters-popover {
    width: calc(100vw - 1rem) !important;
    max-height: calc(100dvh - 1rem) !important;
    border-radius: 1.05rem !important;
  }

  html:root body .messenger-poll-voters-popover > .messenger-poll-voters-header {
    grid-template-columns: 2.4rem minmax(0, 1fr) 2.2rem !important;
    padding: .8rem !important;
  }

  html:root body .messenger-poll-voters-popover > .messenger-poll-voters-toolbar { padding: .65rem .8rem !important; }
  html:root body .messenger-poll-voters-popover > .messenger-poll-voters-list { padding: .65rem .8rem .8rem !important; }
  html:root body .messenger-poll-voters-popover .messenger-poll-voter-group-body { max-height: min(16rem, 38vh) !important; }
}
/* V2.0.58: личные и административные санкции в едином космическом интерфейсе. */
.profile-sanction-boundary{min-height:34rem;display:grid;grid-template-columns:minmax(15rem,.82fr) minmax(18rem,1.18fr);align-items:center;gap:clamp(1.5rem,5vw,4.5rem);padding:clamp(1.5rem,4vw,4rem);border:1px solid color-mix(in srgb,var(--theme-color,#269558) 15%,transparent);border-radius:2rem;background:radial-gradient(circle at 17% 30%,color-mix(in srgb,var(--theme-color,#269558) 13%,transparent),transparent 34%),linear-gradient(145deg,#0d1b2f,#07111f 65%,#091522);color:#eef7ff;overflow:hidden;box-shadow:0 1.7rem 4rem rgb(18 37 60/.18)}
.profile-sanction-copy{position:relative;z-index:2;max-width:38rem}.profile-sanction-copy>small,.global-sanction-card>div>small,.moderation-appeal-modal header small{display:block;margin-bottom:.65rem;color:#67d89a;font:900 .66rem/1.2 inherit;letter-spacing:.19em}.profile-sanction-copy h2,.global-sanction-card h1{margin:0;color:#fff;font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.04}.profile-sanction-copy p,.global-sanction-card p{margin:1rem 0 1.6rem;color:#a9bdd3;line-height:1.7}.sanction-primary-action,.sanction-secondary-action{border:0;border-radius:1rem;padding:.88rem 1.15rem;font:900 .76rem/1 inherit;cursor:pointer;transition:.18s ease}.sanction-primary-action{background:linear-gradient(135deg,#1e9856,#35bd72);color:#fff;box-shadow:0 .8rem 1.8rem rgb(29 151 85/.23)}.sanction-primary-action:hover{transform:translateY(-2px);filter:brightness(1.06)}.sanction-secondary-action{background:rgb(255 255 255/.08);color:#dceafb;border:1px solid rgb(255 255 255/.1)}
.sanction-space-scene{position:relative;width:min(100%,24rem);aspect-ratio:1;margin:auto;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgb(43 151 96/.18),transparent 48%),radial-gradient(circle at 50% 50%,rgb(78 127 199/.12),transparent 68%)}.sanction-space-scene::before,.sanction-space-scene::after{content:"";position:absolute;inset:12%;border:1px solid rgb(125 197 166/.17);border-radius:50%;transform:rotate(24deg)}.sanction-space-scene::after{inset:25%;transform:rotate(-17deg)}.sanction-orbit{position:absolute;inset:7%;border:1px dashed rgb(119 168 211/.25);border-radius:50%;animation:sanction-orbit-spin 18s linear infinite}.sanction-star{position:absolute;width:.32rem;height:.32rem;border-radius:50%;background:#dff8ff;box-shadow:0 0 .8rem #9cd9ff;animation:sanction-star-pulse 2.2s ease-in-out infinite}.sanction-star.s1{left:12%;top:32%}.sanction-star.s2{right:14%;top:18%;animation-delay:-.8s}.sanction-star.s3{right:22%;bottom:16%;animation-delay:-1.45s}.sanction-astronaut{position:absolute;inset:14%;width:72%;height:72%;overflow:visible;animation:sanction-float 5.8s ease-in-out infinite;filter:drop-shadow(0 1.2rem 1.6rem rgb(0 0 0/.3))}.sanction-astronaut g{fill:#eaf4fa;stroke:#82a9bb;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.sanction-astronaut .visor{fill:#173451;stroke:#72d4a1}.sanction-astronaut .sanction-tether{fill:none;stroke:#4bbb7c;stroke-width:3;stroke-linecap:round;stroke-dasharray:7 8;animation:sanction-tether 3.5s linear infinite}
.global-sanction-screen{position:fixed;inset:0;z-index:100500;display:grid;place-items:center;padding:1rem;background:rgb(5 13 24/.78);backdrop-filter:blur(18px)}.global-sanction-card{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(19rem,1.2fr);align-items:center;gap:2rem;width:min(62rem,100%);max-height:calc(100dvh - 2rem);overflow:auto;padding:clamp(1.4rem,4vw,3.5rem);border:1px solid rgb(120 198 160/.2);border-radius:2rem;background:linear-gradient(145deg,#102238,#07111e);box-shadow:0 2rem 7rem rgb(0 0 0/.45);color:#eef7ff}.global-sanction-card dl{display:grid;gap:.65rem;margin:0 0 1.5rem}.global-sanction-card dl>div{display:grid;grid-template-columns:6rem 1fr;gap:1rem;padding:.8rem 1rem;border-radius:1rem;background:rgb(255 255 255/.05)}.global-sanction-card dt{color:#7d95ac;font-size:.72rem}.global-sanction-card dd{margin:0;color:#e9f3fb;font-weight:800}.global-sanction-card footer{display:flex;flex-wrap:wrap;gap:.65rem}
.moderation-appeal-modal{position:fixed;inset:0;z-index:100600;display:grid;place-items:center;padding:1rem}.moderation-appeal-modal.hidden{display:none!important}.moderation-appeal-backdrop{position:absolute;inset:0;border:0;background:rgb(8 19 34/.7);backdrop-filter:blur(15px)}.moderation-appeal-modal>section{position:relative;width:min(36rem,100%);padding:1.35rem;border-radius:1.55rem;background:var(--surface-primary,#fff);box-shadow:0 2rem 7rem rgb(5 18 35/.38)}.moderation-appeal-modal header{display:grid;grid-template-columns:3.2rem 1fr 2.7rem;gap:.9rem;align-items:start}.moderation-appeal-modal header>span{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:1rem;background:color-mix(in srgb,var(--theme-color,#269558) 12%,transparent);color:var(--theme-color,#269558)}.moderation-appeal-modal header svg{width:1.45rem;fill:none;stroke:currentColor;stroke-width:1.8}.moderation-appeal-modal h2{margin:0;color:#174f91}.moderation-appeal-modal header p{margin:.25rem 0 0;color:#7690aa;font-size:.78rem}.moderation-appeal-modal [data-appeal-close]{width:2.7rem;height:2.7rem;border:0;border-radius:.85rem;background:#e2f0e8;color:#397a60;font-size:1.25rem;cursor:pointer}.moderation-appeal-modal label{display:grid;gap:.55rem;margin-top:1.2rem;color:#42617c;font-size:.74rem;font-weight:900}.moderation-appeal-modal textarea,.galaxy-guard-note textarea{box-sizing:border-box;width:100%;min-height:9rem;resize:vertical;padding:1rem;border:1px solid #dce8f1;border-radius:1rem;background:#f4f8fb;color:#17395e;outline:none}.moderation-appeal-modal textarea:focus,.galaxy-guard-note textarea:focus{border-color:var(--theme-color,#269558);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-color,#269558) 11%,transparent)}.moderation-appeal-modal footer{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}.moderation-appeal-modal footer button{border:0;border-radius:.9rem;padding:.78rem 1rem;font-weight:900;cursor:pointer}.moderation-appeal-modal [data-appeal-submit]{background:var(--theme-color,#269558);color:#fff}
.galaxy-guard-note{display:grid;gap:.4rem;margin-top:.9rem;color:#52708b;font-size:.72rem;font-weight:900}.galaxy-guard-note.hidden{display:none!important}.galaxy-guard-note textarea{min-height:5.4rem;margin-top:.2rem}
.moderation-notif-item{position:relative;display:grid;grid-template-columns:3.35rem 1fr 1.8rem;gap:.8rem;margin:.45rem 0;padding:.85rem;border:1px solid color-mix(in srgb,var(--theme-color,#269558) 14%,#dbe6ef);border-radius:1.15rem;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-color,#269558) 8%,#fff),#fff);overflow:hidden}.moderation-notif-space{position:relative;display:grid;place-items:center;width:3.35rem;height:3.35rem;border-radius:1rem;background:#10263c}.moderation-notif-space i{position:absolute;inset:.42rem;border:1px dashed rgb(100 216 151/.35);border-radius:50%;animation:sanction-orbit-spin 8s linear infinite}.moderation-notif-space svg{width:2.3rem;overflow:visible;fill:#eaf4fa;stroke:#75a1b6;stroke-width:2;animation:sanction-float 4s ease-in-out infinite}.moderation-notif-space .visor{fill:#173451;stroke:#60cd94}.moderation-notif-copy small{display:block;color:var(--theme-color,#269558);font-size:.57rem;font-weight:900;letter-spacing:.13em}.moderation-notif-copy strong{display:block;margin:.18rem 0;color:#174f91;font-size:.78rem}.moderation-notif-copy p{margin:0;color:#58718a;font-size:.68rem;line-height:1.45}.moderation-notif-copy button{margin-top:.55rem;border:0;border-radius:.7rem;padding:.5rem .7rem;background:#dff1e7;color:#168047;font-size:.63rem;font-weight:900;cursor:pointer}.moderation-notif-dismiss{border:0;background:transparent;color:#7990a4;font-size:1.1rem;cursor:pointer}
.profile-safety-dropdown #profile-block-button.is-blocked{color:#168047!important;background:#eef9f2!important}.profile-safety-dropdown #profile-block-button.is-disabled{opacity:.58;cursor:not-allowed}
@keyframes sanction-float{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(.5rem,-.8rem,0) rotate(4deg)}}@keyframes sanction-orbit-spin{to{transform:rotate(384deg)}}@keyframes sanction-star-pulse{50%{opacity:.32;transform:scale(.68)}}@keyframes sanction-tether{to{stroke-dashoffset:-30}}
@media(max-width:720px){.profile-sanction-boundary,.global-sanction-card{grid-template-columns:1fr;text-align:center}.profile-sanction-boundary{min-height:30rem;padding:1.2rem}.sanction-space-scene{width:min(15rem,72vw)}.global-sanction-card{gap:.6rem}.global-sanction-card dl>div{text-align:left}.global-sanction-card footer{justify-content:center}.moderation-appeal-modal>section{padding:1rem}.moderation-appeal-modal header{grid-template-columns:2.8rem 1fr 2.5rem}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){.sanction-space-scene *,.sanction-astronaut,.moderation-notif-space *{animation:none!important}}

/* Profile blacklist and full-screen personal block boundary v60 */
.privacy-blacklist-card{margin:1rem 1.1rem 0;border:1px solid var(--vmesta-ui-line,var(--standard-line,#dce6f1));border-radius:1.15rem;background:var(--vmesta-ui-panel,var(--standard-panel,#fff));overflow:hidden;box-shadow:0 .7rem 1.8rem rgb(15 38 66/.055)}
.privacy-blacklist-card>header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.05rem .85rem}.privacy-blacklist-card>header>div{min-width:0}.privacy-blacklist-card h4{margin:0;color:var(--vmesta-ui-ink,var(--standard-text-active,#174b8c));font-size:.86rem;font-weight:950}.privacy-blacklist-card header p{margin:.18rem 0 0;color:var(--vmesta-ui-muted,var(--standard-text-passive,#6d89ad));font-size:.62rem;line-height:1.4}.privacy-blacklist-icon{display:grid;width:2.45rem;height:2.45rem;flex:0 0 2.45rem;place-items:center;border-radius:.8rem;background:color-mix(in srgb,var(--theme-color,#269558) 13%,var(--vmesta-ui-panel,#fff));color:var(--theme-color,#269558)}.privacy-blacklist-icon svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.privacy-blacklist-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem;margin:0 1.05rem .82rem;padding:.25rem;border-radius:.85rem;background:var(--vmesta-ui-soft,var(--standard-panel-soft,#edf4fb))}.privacy-blacklist-tabs button{display:flex;min-width:0;min-height:2.55rem;align-items:center;justify-content:center;gap:.42rem;border:0;border-radius:.68rem;padding:.48rem .65rem;background:transparent;color:var(--vmesta-ui-muted,#6d89ad);font:850 .65rem/1.15 inherit;cursor:pointer}.privacy-blacklist-tabs button.is-active{background:var(--vmesta-ui-panel,#fff);color:var(--theme-color,#269558);box-shadow:0 .25rem .9rem rgb(20 49 79/.09)}.privacy-blacklist-tabs button span{display:grid;min-width:1.25rem;height:1.25rem;padding:0 .28rem;place-items:center;border-radius:.42rem;background:color-mix(in srgb,currentColor 10%,transparent);font-size:.57rem}
.privacy-blacklist-list{display:grid;max-height:min(24rem,45dvh);gap:.45rem;overflow-y:auto;padding:.15rem 1.05rem 1.05rem;scrollbar-gutter:stable}.privacy-blacklist-user{display:grid;grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:3.75rem;border:1px solid color-mix(in srgb,var(--vmesta-ui-line,#dce6f1) 82%,transparent);border-radius:.9rem;padding:.48rem .58rem;background:var(--vmesta-ui-soft,var(--standard-panel-soft,#f4f8fc))}.privacy-blacklist-user>a:first-child{display:block;width:2.7rem;height:2.7rem}.privacy-blacklist-user img{width:100%;height:100%;border-radius:.78rem;object-fit:cover}.privacy-blacklist-user-copy{display:flex;min-width:0;flex-direction:column;gap:.12rem;text-decoration:none}.privacy-blacklist-user-copy strong{overflow:hidden;color:var(--vmesta-ui-ink,#174b8c);font-size:.69rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.privacy-blacklist-user-copy small{overflow:hidden;color:var(--vmesta-ui-muted,#6d89ad);font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}.privacy-blacklist-unblock{min-height:2.15rem;border:0;border-radius:.68rem;padding:.42rem .7rem;background:color-mix(in srgb,var(--theme-color,#269558) 13%,var(--vmesta-ui-panel,#fff));color:var(--theme-color,#269558);font:900 .6rem/1 inherit;cursor:pointer}.privacy-blacklist-unblock:hover{background:var(--theme-color,#269558);color:#fff}.privacy-blacklist-unblock:disabled{opacity:.58;cursor:wait}.privacy-blacklist-state{padding:.38rem .55rem;border-radius:.58rem;background:color-mix(in srgb,#ef5350 9%,var(--vmesta-ui-panel,#fff));color:#cb4242;font-size:.57rem;font-weight:850}.privacy-blacklist-empty,.privacy-blacklist-loading{display:flex;min-height:8.5rem;align-items:center;justify-content:center;flex-direction:column;gap:.3rem;color:var(--vmesta-ui-muted,#6d89ad);text-align:center}.privacy-blacklist-empty>span{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.8rem;background:color-mix(in srgb,var(--theme-color,#269558) 11%,transparent);color:var(--theme-color,#269558);font-size:1.2rem}.privacy-blacklist-empty strong,.privacy-blacklist-loading strong{color:var(--vmesta-ui-ink,#174b8c);font-size:.72rem}.privacy-blacklist-empty small{font-size:.58rem}.privacy-blacklist-empty button{margin-top:.3rem;border:0;border-radius:.65rem;padding:.48rem .72rem;background:var(--theme-color,#269558);color:#fff;font-weight:850;cursor:pointer}.privacy-blacklist-loading .vmesta-loading-orbit{width:2.3rem;height:2.3rem}
.profile-sanction-overlay{position:fixed;z-index:2147483000;inset:0;display:grid;width:100vw;height:100dvh;overflow:auto;background:#07111f;opacity:0;transition:opacity .22s ease}.profile-sanction-overlay.is-visible{opacity:1}.profile-sanction-overlay .profile-sanction-boundary{width:100%;min-height:100dvh;grid-template-columns:minmax(16rem,.85fr) minmax(20rem,1.15fr);gap:clamp(1.5rem,6vw,6rem);margin:0;border:0;border-radius:0;padding:clamp(2rem,6vw,7rem) clamp(1.4rem,9vw,10rem);background:radial-gradient(circle at 18% 28%,color-mix(in srgb,var(--theme-color,#269558) 20%,transparent),transparent 32%),radial-gradient(circle at 82% 72%,rgb(49 91 155/.16),transparent 36%),linear-gradient(145deg,#0d1b2f,#07111f 62%,#091522);box-shadow:none}.profile-sanction-overlay .sanction-space-scene{width:min(31rem,72vh)}.profile-sanction-overlay .profile-sanction-copy{max-width:42rem}.profile-sanction-overlay .profile-sanction-copy h2{font-size:clamp(2rem,4vw,4.4rem)}.profile-sanction-overlay .profile-sanction-copy p{max-width:36rem;font-size:clamp(.82rem,1.2vw,1.04rem)}.profile-sanction-overlay :is(.sanction-primary-action,.sanction-secondary-action){min-height:3.15rem;padding:.9rem 1.4rem;font-size:.78rem}.profile-sanction-overlay-active{overscroll-behavior:none}
@media(max-width:720px){.privacy-blacklist-card{margin:.75rem .65rem 0}.privacy-blacklist-tabs{grid-template-columns:1fr}.privacy-blacklist-user{grid-template-columns:2.55rem minmax(0,1fr)}.privacy-blacklist-user>:is(.privacy-blacklist-unblock,.privacy-blacklist-state){grid-column:1/-1;width:100%;text-align:center}.profile-sanction-overlay .profile-sanction-boundary{grid-template-columns:1fr;align-content:center;gap:.2rem;padding:1.2rem;text-align:center}.profile-sanction-overlay .sanction-space-scene{width:min(15rem,66vw)}.profile-sanction-overlay .profile-sanction-copy p{margin-inline:auto}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){.profile-sanction-overlay{transition:none}}

/* Header-aware animated cosmos for the personal block screen v61 */
html:root body .profile-sanction-overlay{z-index:45;top:3.5rem;bottom:0;height:calc(100dvh - 3.5rem);overflow:hidden;background:linear-gradient(150deg,#07111f 0%,#09182b 48%,#07111f 100%)}
html:root body .profile-sanction-overlay .profile-sanction-boundary{position:relative;z-index:2;min-height:calc(100dvh - 3.5rem);background:transparent!important;padding-block:clamp(2.4rem,7vh,6.5rem)}
html:root body .profile-sanction-overlay .profile-sanction-copy{box-sizing:border-box;max-width:45rem;padding:clamp(1.25rem,2.6vw,2.25rem);border:1px solid rgb(151 205 229/.13);border-radius:1.65rem;background:linear-gradient(145deg,rgb(11 29 49/.74),rgb(7 18 33/.5));box-shadow:0 1.7rem 5rem rgb(0 0 0/.26),inset 0 1px rgb(255 255 255/.05);backdrop-filter:blur(12px)}
html:root body .profile-sanction-overlay .profile-sanction-copy>small{color:#78dda7!important;text-shadow:0 0 1.2rem rgb(60 210 127/.24)}
html:root body .profile-sanction-overlay .profile-sanction-copy h2{color:#f1f8ff!important;text-shadow:0 .18rem 1.2rem rgb(0 0 0/.28)}
html:root body .profile-sanction-overlay .profile-sanction-copy p{color:#b7cadc!important}
.profile-sanction-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.profile-sanction-actions .sanction-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:.48rem}.profile-sanction-actions .sanction-secondary-action svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.profile-sanction-cosmos{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}.profile-sanction-cosmos::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 28%,rgb(37 189 117/.2),transparent 24%),radial-gradient(circle at 78% 30%,rgb(55 116 210/.16),transparent 31%),radial-gradient(circle at 52% 88%,rgb(95 58 174/.13),transparent 27%)}
.profile-sanction-starfield{position:absolute;inset:-20%;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.4px),radial-gradient(circle,#8ed9ff 0 1px,transparent 1.5px),radial-gradient(circle,#a7f3cb 0 1.2px,transparent 1.7px);background-position:0 0,3.5rem 5rem,8rem 2rem;background-size:7rem 7rem,11rem 11rem,15rem 15rem;opacity:.56;animation:profile-sanction-stars-drift 42s linear infinite}.profile-sanction-starfield.is-far{inset:-30%;background-size:13rem 13rem,18rem 18rem,24rem 24rem;opacity:.27;filter:blur(.2px);animation-duration:70s;animation-direction:reverse}.profile-sanction-starfield.is-near{filter:drop-shadow(0 0 .28rem rgb(169 225 255/.72))}
.profile-sanction-planet{position:absolute;border-radius:50%;filter:drop-shadow(0 1.6rem 2.3rem rgb(0 0 0/.3));animation:profile-sanction-planet-float 10s ease-in-out infinite}.profile-sanction-planet::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,rgb(255 255 255/.24),transparent 28% 72%,rgb(0 0 0/.24))}.profile-sanction-planet::after{content:"";position:absolute;left:-24%;top:43%;width:148%;height:18%;border:2px solid rgb(189 231 255/.32);border-radius:50%;transform:rotate(-13deg);box-shadow:0 0 1rem rgb(124 205 255/.12)}.profile-sanction-planet.is-planet-one{left:-4.5rem;top:7%;width:15rem;height:15rem;background:radial-gradient(circle at 32% 28%,#78e3b0,#176f66 48%,#0d3041 78%);opacity:.62}.profile-sanction-planet.is-planet-two{right:5%;top:9%;width:6.5rem;height:6.5rem;background:radial-gradient(circle at 35% 28%,#c4b1ff,#6e58ae 52%,#252452);opacity:.7;animation-delay:-4s}.profile-sanction-planet.is-planet-two::after{transform:rotate(22deg)}.profile-sanction-planet.is-planet-three{right:-5rem;bottom:-6rem;width:19rem;height:19rem;background:radial-gradient(circle at 32% 25%,#78b9e4,#325b94 48%,#152c53 75%);opacity:.47;animation-delay:-7s}.profile-sanction-planet.is-planet-three::after{transform:rotate(-24deg)}
.profile-sanction-comet{position:absolute;width:8rem;height:1px;background:linear-gradient(90deg,transparent,rgb(184 232 255/.75),#fff);box-shadow:0 0 .55rem rgb(137 215 255/.62);transform:rotate(-24deg);opacity:0;animation:profile-sanction-comet-flight 9s ease-in infinite}.profile-sanction-comet::after{content:"";position:absolute;right:-.18rem;top:-.16rem;width:.34rem;height:.34rem;border-radius:50%;background:#fff;box-shadow:0 0 .8rem #b7e8ff}.profile-sanction-comet.is-comet-one{left:15%;top:18%;animation-delay:-2s}.profile-sanction-comet.is-comet-two{left:55%;top:66%;animation-delay:-6.5s;animation-duration:12s}
@keyframes profile-sanction-stars-drift{to{transform:translate3d(7rem,5rem,0)}}@keyframes profile-sanction-planet-float{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(.6rem,-1rem,0) rotate(3deg)}}@keyframes profile-sanction-comet-flight{0%,68%{opacity:0;transform:translate3d(-12rem,-5rem,0) rotate(-24deg)}72%{opacity:.9}88%{opacity:.25}100%{opacity:0;transform:translate3d(58vw,22rem,0) rotate(-24deg)}}
@media(max-width:720px){html:root body .profile-sanction-overlay .profile-sanction-boundary{min-height:calc(100dvh - 3.5rem);padding-block:1rem}.profile-sanction-actions{justify-content:center}.profile-sanction-actions>:is(button){width:100%}.profile-sanction-planet.is-planet-one{left:-5rem;top:4%;width:10rem;height:10rem}.profile-sanction-planet.is-planet-two{right:-1.5rem;top:22%;width:4.5rem;height:4.5rem}.profile-sanction-planet.is-planet-three{right:-5rem;bottom:-4rem;width:12rem;height:12rem}html:root body .profile-sanction-overlay .profile-sanction-copy{padding:1rem;border-radius:1.2rem}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){.profile-sanction-starfield,.profile-sanction-planet,.profile-sanction-comet{animation:none!important}.profile-sanction-comet{display:none}}

/* VMESTA profile block confirmation and full identity v62 */
.profile-block-confirm{position:fixed;z-index:2147483010;inset:0;display:grid;place-items:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .17s ease,visibility .17s ease}.profile-block-confirm.is-visible{opacity:1;visibility:visible}.profile-block-confirm-backdrop{position:absolute;inset:0;border:0;background:rgb(10 23 39/.68);backdrop-filter:blur(9px);cursor:default}.profile-block-confirm>section{position:relative;width:min(30rem,100%);box-sizing:border-box;padding:1.2rem;border:1px solid color-mix(in srgb,var(--theme-color,#269558) 18%,#dbe8f1);border-radius:1.65rem;background:#fff;box-shadow:0 2rem 5rem rgb(9 27 48/.28);transform:translateY(.8rem) scale(.98);transition:transform .17s ease;color:#174a85}.profile-block-confirm.is-visible>section{transform:none}.profile-block-confirm header{display:grid;grid-template-columns:3rem minmax(0,1fr) 2.7rem;align-items:center;gap:.85rem}.profile-block-confirm-emblem,.profile-block-confirm-close{display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:1rem;background:#e4f3eb;color:#249557}.profile-block-confirm-emblem svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-width:1.8}.profile-block-confirm header small{display:block;margin-bottom:.25rem;color:#269558;font:900 .63rem/1.2 inherit;letter-spacing:.15em}.profile-block-confirm h2{margin:0;color:#174a85;font:900 1.28rem/1.2 inherit}.profile-block-confirm-close{width:2.7rem;height:2.7rem;cursor:pointer}.profile-block-confirm-close svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.profile-block-confirm-person{display:flex;align-items:center;gap:.8rem;margin:1.15rem 0 .8rem;padding:.75rem;border-radius:1.15rem;background:#f2f7fc}.profile-block-confirm-person img{width:3rem;height:3rem;flex:0 0 3rem;border-radius:.9rem;object-fit:cover;background:#e6edf5}.profile-block-confirm-person span{min-width:0}.profile-block-confirm-person strong,.profile-block-confirm-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-block-confirm-person strong{color:#174a85;font:900 .92rem/1.3 inherit}.profile-block-confirm-person small{margin-top:.16rem;color:#7190b3;font:700 .72rem/1.2 inherit;text-transform:lowercase}.profile-block-confirm p{margin:.25rem .15rem 1rem;color:#617c9b;font:600 .78rem/1.55 inherit}.profile-block-confirm footer{display:flex;justify-content:flex-end;gap:.65rem}.profile-block-confirm footer button{min-height:2.8rem;padding:.7rem 1rem;border:0;border-radius:.9rem;background:#edf3f8;color:#174a85;font:900 .74rem/1 inherit;cursor:pointer}.profile-block-confirm footer .is-primary{background:linear-gradient(135deg,#218f55,#31b86b);color:#fff;box-shadow:0 .65rem 1.4rem rgb(34 151 88/.2)}.profile-block-confirm:not(.is-unblock) footer .is-primary{background:#174a85;box-shadow:0 .65rem 1.4rem rgb(23 74 133/.2)}
.profile-sanction-copy h2>span{color:#fff}.profile-sanction-identity-login{width:max-content;max-width:100%;margin:.65rem 0 .2rem;padding:.38rem .65rem;border:1px solid rgb(120 221 167/.2);border-radius:.7rem;background:rgb(54 183 113/.09);color:#78dda7;font:800 .76rem/1 inherit;letter-spacing:.04em;text-transform:lowercase}
@media(max-width:520px){.profile-block-confirm>section{padding:1rem;border-radius:1.25rem}.profile-block-confirm header{grid-template-columns:2.65rem minmax(0,1fr) 2.5rem;gap:.65rem}.profile-block-confirm-emblem{width:2.65rem;height:2.65rem;border-radius:.85rem}.profile-block-confirm-close{width:2.5rem;height:2.5rem}.profile-block-confirm footer{display:grid;grid-template-columns:1fr}.profile-block-confirm footer .is-primary{grid-row:1}.profile-sanction-identity-login{margin-inline:auto}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){.profile-block-confirm,.profile-block-confirm>section{transition:none}}

/* Blacklist accordion follows the VMESTA cover-library pattern v62 */
.privacy-blacklist-groups{display:grid;gap:.7rem;margin:0 .75rem .9rem;padding:.7rem;border-radius:1.15rem;background:#edf3f9}.privacy-blacklist-group{overflow:hidden;border-radius:1rem;background:#fff;transition:box-shadow .18s ease}.privacy-blacklist-group.is-open{box-shadow:0 .7rem 1.7rem rgb(18 49 82/.07)}.privacy-blacklist-group-toggle{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;border:0;padding:1rem 1.05rem;background:#fff;color:#174a85;text-align:left;cursor:pointer}.privacy-blacklist-group-toggle>span:first-child{display:flex;min-width:0;flex-direction:column;gap:.24rem}.privacy-blacklist-group-toggle strong{font:900 .76rem/1.2 inherit}.privacy-blacklist-group-toggle small{color:#7190b3;font:650 .6rem/1.3 inherit}.privacy-blacklist-group-meta{display:flex;align-items:center;gap:.72rem}.privacy-blacklist-group-meta b{display:grid;min-width:1.8rem;height:1.75rem;padding:0 .45rem;place-items:center;border-radius:.65rem;background:#e2f1e9;color:#168348;font:900 .62rem/1 inherit}.privacy-blacklist-group-meta svg{width:1rem;height:1rem;fill:none;stroke:#187c49;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.privacy-blacklist-group.is-open .privacy-blacklist-group-meta svg{transform:rotate(180deg)}.privacy-blacklist-group .privacy-blacklist-list{max-height:min(22rem,42dvh);padding:.05rem .75rem .8rem;border-top:1px solid #edf3f8;background:#fff}.privacy-blacklist-group .privacy-blacklist-empty,.privacy-blacklist-group .privacy-blacklist-loading{min-height:6.5rem}.privacy-blacklist-group .privacy-blacklist-user{margin-top:.55rem;border:0;background:#f3f7fb}.privacy-blacklist-group .privacy-blacklist-list.hidden{display:none!important}
@media(max-width:520px){.privacy-blacklist-groups{margin-inline:.55rem;padding:.5rem}.privacy-blacklist-group-toggle{padding:.85rem}.privacy-blacklist-group-toggle small{white-space:normal}.privacy-blacklist-group-meta{gap:.4rem}}

/* Blacklist typography and animated connection-error crew member v63 */
html:root body .privacy-blacklist-card,html:root body .privacy-blacklist-card :is(button,strong,small,p,h4){font-family:"Segoe UI",Arial,sans-serif!important}.privacy-blacklist-group-toggle strong{font-size:.76rem!important;font-weight:850!important;line-height:1.2!important;letter-spacing:0!important}.privacy-blacklist-group-toggle small{font-size:.6rem!important;font-weight:600!important;line-height:1.35!important;letter-spacing:0!important}.privacy-blacklist-group-meta b{font-size:.62rem!important;font-weight:850!important;line-height:1!important}.privacy-blacklist-error-scene{position:relative;width:7.4rem;height:5.8rem;margin-bottom:.35rem;overflow:hidden;border-radius:1.35rem;background:radial-gradient(circle at 55% 48%,rgb(59 187 119/.2),transparent 38%),linear-gradient(145deg,#102942,#071827);box-shadow:inset 0 0 0 1px rgb(146 211 239/.09)}.privacy-blacklist-error-scene>i{position:absolute;display:block}.privacy-blacklist-error-scene>.is-star-one{left:1rem;top:1rem;width:.22rem;height:.22rem;border-radius:50%;background:#dff6ff;box-shadow:4.8rem 2.9rem #8edcb5,2.1rem 3.4rem #fff;animation:privacy-blacklist-star-pulse 2.4s ease-in-out infinite}.privacy-blacklist-error-scene>.is-star-two{right:1.1rem;top:.85rem;width:.14rem;height:.14rem;border-radius:50%;background:#fff;box-shadow:-4rem 1.6rem #86bde6;animation:privacy-blacklist-star-pulse 2.4s .8s ease-in-out infinite}.privacy-blacklist-error-scene>.is-orbit{left:.7rem;right:.7rem;top:1rem;bottom:1rem;border:1px dashed rgb(111 214 158/.2);border-radius:50%;transform:rotate(-12deg);animation:privacy-blacklist-orbit 11s linear infinite}.privacy-blacklist-drifter{position:absolute;z-index:1;left:50%;top:50%;width:5.2rem;height:5.2rem;overflow:visible;transform:translate(-50%,-50%);animation:privacy-blacklist-drift 3.8s ease-in-out infinite}.privacy-blacklist-drifter .is-head{fill:#f2c7a5;stroke:#79a7be;stroke-width:2}.privacy-blacklist-drifter .is-hair{fill:#174a85}.privacy-blacklist-drifter .is-body{fill:#eaf5fa;stroke:#75a4bb;stroke-width:2;stroke-linejoin:round}.privacy-blacklist-drifter .is-limb{fill:none;stroke:#75a4bb;stroke-width:5;stroke-linecap:round}.privacy-blacklist-drifter .is-ban circle{fill:#ef5350;stroke:#fff;stroke-width:3}.privacy-blacklist-drifter .is-ban path{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round}.privacy-blacklist-empty.is-error{gap:.38rem;padding:.8rem}.privacy-blacklist-empty.is-error>small{color:#7190b3;font-size:.58rem!important;font-weight:600!important}.privacy-blacklist-empty.is-error>button{min-height:2.25rem;padding:.55rem .9rem;border-radius:.72rem;font-family:"Segoe UI",Arial,sans-serif!important;font-size:.62rem;font-weight:850}
@keyframes privacy-blacklist-drift{0%,100%{transform:translate(-50%,-50%) rotate(-3deg)}50%{transform:translate(-50%,calc(-50% - .38rem)) rotate(4deg)}}@keyframes privacy-blacklist-orbit{to{transform:rotate(348deg)}}@keyframes privacy-blacklist-star-pulse{0%,100%{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){}

/* ------------[Полноэкранный видеоплеер v85]------------ //
   Полноэкранный элемент выходит из размеров карточки сообщения. Компактный
   режим остаётся только в переписке, а на весь экран возвращаются все органы
   управления: время, выбор качества, скорость, громкость и перемотка. Модуль: «оформление интерфейса». Часть 1/15 */
html:root body .vmesta-video-player:fullscreen {
  position:fixed!important;
  inset:0!important;
  box-sizing:border-box!important;
  display:grid!important;
  width:100vw!important;
  min-width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#020814!important;
}
html:root body .vmesta-video-player:fullscreen>video {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
}
html:root body .vmesta-video-player:fullscreen .vmesta-video-play { grid-column:1!important; }
html:root body .vmesta-video-player:fullscreen .vmesta-video-speed { grid-column:7!important;display:grid!important;visibility:visible!important;opacity:1!important;width:2rem!important;min-width:2rem!important;height:2rem!important; }
html:root body .vmesta-video-player:fullscreen .vmesta-video-fullscreen { grid-column:8!important;display:grid!important;width:2rem!important;min-width:2rem!important;height:2rem!important; }
html:root body .vmesta-video-player:fullscreen .vmesta-video-volume-popover { right:-2rem!important;width:min(13rem,80vw)!important; }
html:root body .vmesta-video-player:fullscreen .vmesta-video-quality-menu { right:-2.3rem!important;width:min(13.5rem,82vw)!important; }
html:root body .vmesta-video-player:fullscreen .vmesta-video-fullscreen svg { width:1.12rem!important;height:1.12rem!important; }

@media(max-width:620px) {
  html:root body .vmesta-video-player:fullscreen .vmesta-video-controls {
    right:.35rem!important;bottom:.35rem!important;left:.35rem!important;
    grid-template-columns:1.8rem minmax(3rem,1fr) 1.8rem auto 1.8rem!important;
    gap:.22rem!important;padding:.28rem .32rem!important;
  }
  html:root body .vmesta-video-player:fullscreen :is(.vmesta-video-current,.vmesta-video-duration,.vmesta-video-speed) { display:none!important; }
  html:root body .vmesta-video-player:fullscreen .vmesta-video-play { grid-column:1!important; }
  html:root body .vmesta-video-player:fullscreen .vmesta-video-range { grid-column:2!important; }
  html:root body .vmesta-video-player:fullscreen .vmesta-video-volume-group { grid-column:3!important; }
  html:root body .vmesta-video-player:fullscreen .vmesta-video-quality-group { grid-column:4!important; }
  html:root body .vmesta-video-player:fullscreen .vmesta-video-fullscreen { grid-column:5!important; }
}

/* ------------[Перетаскивание вложений и панель записи v83]------------ //
   Единая зона приёма файлов для публикаций и личных сообщений. Модуль: «оформление интерфейса». Часть 2/15 */
html:root body :is(.profile-post-composer,.publication-inline-editor,.space-composer,.messenger-composer) {
  position: relative;
}

html:root body .vmesta-file-drop-overlay {
  position: absolute;
  z-index: 90;
  inset: .28rem;
  display: grid;
  grid-template-columns: 2.65rem minmax(0,1fr);
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  column-gap: .72rem;
  padding: .85rem 1rem;
  border: .12rem dashed color-mix(in srgb,var(--theme-color,#269558) 72%,#fff);
  border-radius: 1rem;
  background: color-mix(in srgb,var(--theme-color,#269558) 11%,var(--vmesta-ui-panel,var(--msg-panel,#fff)) 89%);
  box-shadow: 0 .9rem 2.2rem rgb(12 52 36/.16),inset 0 0 0 1px color-mix(in srgb,var(--theme-color,#269558) 16%,transparent);
  color: var(--vmesta-ui-ink,var(--msg-text,#174b8c));
  opacity: 0;
  visibility: hidden;
  transform: scale(.985);
  pointer-events: none;
  transition: opacity .16s ease,transform .16s ease,visibility .16s ease;
  backdrop-filter: blur(12px);
}

html:root body :is(.profile-post-composer,.publication-inline-editor,.space-composer,.messenger-composer).is-file-dragover > .vmesta-file-drop-overlay {
  opacity: 1 !important;
  visibility: visible;
  transform: none;
}

html:root body .vmesta-file-drop-overlay > span {
  grid-row: 1/3;
  display: grid;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  border-radius: .82rem;
  background: var(--theme-color,var(--msg-accent,#269558));
  color: #fff;
  box-shadow: 0 .45rem 1rem color-mix(in srgb,var(--theme-color,var(--msg-accent,#269558)) 28%,transparent);
}

html:root body .vmesta-file-drop-overlay svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html:root body .vmesta-file-drop-overlay strong {
  align-self: end;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.2;
}

html:root body .vmesta-file-drop-overlay small {
  align-self: start;
  margin-top: .16rem;
  color: var(--vmesta-ui-muted,var(--msg-muted,#7190b3));
  font-size: .55rem;
  font-weight: 700;
  line-height: 1.25;
}

/* Таймер, красный индикатор и подсказка больше не делят один узкий flex-слот. */
html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status {
  display: grid !important;
  width: clamp(12.5rem,29vw,18rem) !important;
  min-width: 0 !important;
  max-width: 18rem !important;
  grid-template-columns: .58rem max-content minmax(0,1fr) !important;
  align-items: center !important;
  gap: .42rem !important;
  white-space: nowrap !important;
}

html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status > strong {
  min-width: 5.35rem !important;
  flex: none !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status > span {
  display: block !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Стоп остаётся заметным, но вместо плоской красной точки выглядит как действие. */
html:root body .messenger-recording-panel.is-locked .messenger-recording-actions > .messenger-recording-stop.messenger-recording-stop {
  width: 2.25rem !important;
  min-width: 2.25rem !important;
  height: 2.25rem !important;
  min-height: 2.25rem !important;
  border: .12rem solid color-mix(in srgb,var(--theme-surface-panel,var(--msg-panel,#fff)) 88%,#fff 12%) !important;
  background: linear-gradient(145deg,#f26d75,#d9465f) !important;
  box-shadow: 0 .4rem .9rem rgb(190 45 70/.26),0 0 0 0 rgb(230 75 96/.24) !important;
  animation: vmesta-recording-stop-breathe-v83 1.8s ease-in-out infinite !important;
}

html:root body .messenger-recording-panel.is-locked .messenger-recording-actions > .messenger-recording-stop.messenger-recording-stop::after {
  content: "";
  position: absolute;
  inset: -.18rem;
  border: 1px solid rgb(230 75 96/.38);
  border-radius: 50%;
  animation: vmesta-recording-stop-ring-v83 1.8s ease-out infinite;
  pointer-events: none;
}

html:root body .messenger-recording-panel.is-locked .messenger-recording-actions > .messenger-recording-stop.messenger-recording-stop > span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
}

@keyframes vmesta-recording-stop-breathe-v83 {
  0%,100% { filter: saturate(1) brightness(1); }
  50% { filter: saturate(1.08) brightness(1.08); }
}

@keyframes vmesta-recording-stop-ring-v83 {
  0% { opacity: .7; transform: scale(.82); }
  75%,100% { opacity: 0; transform: scale(1.28); }
}

@media(max-width:700px) {
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status {
    width: 7.2rem !important;
    grid-template-columns: .52rem max-content !important;
  }
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status > span { display: none !important; }
}

@media(max-width:520px) {
  html:root body .vmesta-file-drop-overlay { inset: .18rem;grid-template-columns:2.25rem minmax(0,1fr);padding:.62rem .7rem; }
  html:root body .vmesta-file-drop-overlay > span { width:2.25rem;height:2.25rem; }
  html:root body .vmesta-file-drop-overlay small { font-size:.5rem; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 0px) {
  html:root body .vmesta-file-drop-overlay { transition:none; }
  html:root body .messenger-recording-panel.is-locked .messenger-recording-actions > .messenger-recording-stop.messenger-recording-stop,
  html:root body .messenger-recording-panel.is-locked .messenger-recording-actions > .messenger-recording-stop.messenger-recording-stop::after { animation:none !important; }
}

/* Movable, dockable and resizable compact calls v67 */
html:root body .vmesta-call-layer.view-compact{display:block!important;padding:0!important;place-items:unset!important;pointer-events:none!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-card{position:fixed!important;left:var(--call-compact-x,calc(50vw - 17rem))!important;top:var(--call-compact-y,4.35rem)!important;width:var(--call-compact-width,min(34rem,calc(100vw - 1rem)))!important;height:var(--call-compact-height,4.75rem)!important;max-width:calc(100vw - 1rem)!important;max-height:calc(100dvh - 1rem)!important;margin:0!important;pointer-events:auto!important;transition:left .22s ease,top .22s ease,width .26s ease,height .26s ease,border-radius .22s ease,box-shadow .22s ease!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-card:is(.is-being-dragged,.is-being-resized){transition:none!important;user-select:none!important;box-shadow:0 1.4rem 4rem rgb(0 0 0/.34)!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar{touch-action:none;cursor:grab}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar:active{cursor:grabbing}
html:root body .vmesta-call-layer:not(.view-compact) .vmesta-call-resize-handle{display:none!important}
html:root body .vmesta-call-resize-handle{position:absolute;z-index:18;right:.12rem;bottom:.12rem;width:1.1rem;height:1.1rem;border:0;border-radius:.32rem;background:transparent;cursor:nwse-resize;touch-action:none}
html:root body .vmesta-call-resize-handle::before{content:"";position:absolute;right:.18rem;bottom:.18rem;width:.52rem;height:.52rem;border-right:2px solid color-mix(in srgb,var(--call-accent) 72%,transparent);border-bottom:2px solid color-mix(in srgb,var(--call-accent) 72%,transparent);border-radius:0 0 .16rem 0}
html:root body .vmesta-call-dock-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding:.22rem .25rem .45rem;border-bottom:1px solid var(--call-line)}
html:root body .vmesta-call-more-menu .vmesta-call-dock-picker>button{display:grid;width:100%;height:2rem;place-items:center;border:1px solid var(--call-line);border-radius:.58rem;background:var(--call-surface-soft);color:var(--call-muted);cursor:pointer}
html:root body .vmesta-call-more-menu .vmesta-call-dock-picker>button:is(:hover,.is-selected){border-color:color-mix(in srgb,var(--call-accent) 50%,var(--call-line));background:var(--call-active);color:var(--call-accent)}
html:root body .vmesta-call-more-menu .vmesta-call-dock-picker svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

html:root body .vmesta-call-layer.view-compact:is(.has-video,[data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-card{flex-direction:column!important;overflow:visible!important;border-radius:1rem!important}
html:root body .vmesta-call-layer.view-compact:is(.has-video,[data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-topbar{order:0!important;width:100%!important;height:2.75rem!important;padding:0 .45rem 0 .7rem!important;border-bottom:1px solid var(--call-line)!important}
html:root body .vmesta-call-layer.view-compact:is(.has-video,[data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-topbar>strong{display:block!important;overflow:hidden;color:var(--call-accent)!important;font-size:.58rem!important;text-overflow:ellipsis;white-space:nowrap}
html:root body .vmesta-call-layer.view-compact:is(.has-video,[data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-stage{display:grid!important;width:100%!important;min-height:0!important;flex:1 1 auto!important;order:1!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:.08rem!important;padding:.42rem!important}
html:root body .vmesta-call-layer.view-compact:is(.has-video,[data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-stage h2{grid-column:1!important;grid-row:1!important;align-self:center!important;overflow:hidden!important;padding:0 .2rem!important;font-size:.68rem!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:root body .vmesta-call-layer.view-compact:is(.has-video,[data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-stage>p{grid-column:1!important;grid-row:2!important;padding:0 .2rem .28rem!important;font-size:.54rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall{position:relative!important;inset:auto!important;display:grid!important;width:100%!important;height:100%!important;min-height:6.5rem!important;grid-column:1!important;grid-row:3!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:.3rem!important;padding:0!important;opacity:1!important;transform:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;border:1px solid rgb(255 255 255/.14)!important;border-radius:.62rem!important;box-shadow:none!important;transform:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-remote{grid-column:1;grid-row:1}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-local{grid-column:2;grid-row:1}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-extra{grid-column:1;grid-row:2}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-extra2{grid-column:2;grid-row:2}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile> b{right:.2rem!important;bottom:.2rem!important;left:.2rem!important;max-width:calc(100% - .4rem)!important;padding:.12rem .28rem!important;font-size:.48rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-placeholder small{display:none!important}
html:root body .vmesta-call-layer.view-compact:is(.has-video,[data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-actions{width:100%!important;min-height:2.65rem!important;flex:0 0 auto!important;order:2!important;margin:0!important;padding:.26rem .5rem .4rem!important;border-width:1px 0 0!important;border-radius:0!important;background:transparent!important}

html:root body .vmesta-call-layer.view-compact[data-call-dock="left"] .vmesta-call-card,
html:root body .vmesta-call-layer.view-compact[data-call-dock="right"] .vmesta-call-card{border-radius:1rem!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="left"] .vmesta-call-more-menu{right:auto!important;left:0!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="right"] .vmesta-call-more-menu{right:0!important;left:auto!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="left"] .vmesta-call-stage,
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="right"] .vmesta-call-stage{align-content:start!important;grid-template-columns:3.1rem minmax(0,1fr)!important;grid-template-rows:auto auto!important;padding:.8rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="left"] .vmesta-call-avatar-wrap,
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="right"] .vmesta-call-avatar-wrap{display:grid!important;grid-column:1!important;grid-row:1/3!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="left"] .vmesta-call-stage h2,
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="right"] .vmesta-call-stage h2{grid-column:2!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="left"] .vmesta-call-stage>p,
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="right"] .vmesta-call-stage>p{grid-column:2!important;grid-row:2!important}

@media(max-width:640px){html:root body .vmesta-call-layer.view-compact .vmesta-call-card{max-width:calc(100vw - .6rem)!important;max-height:calc(100dvh - .6rem)!important}html:root body .vmesta-call-layer.view-compact[data-call-dock="left"] .vmesta-call-card,html:root body .vmesta-call-layer.view-compact[data-call-dock="right"] .vmesta-call-card{width:min(18.5rem,calc(100vw - .6rem))!important}html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall{min-height:8.5rem!important}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){html:root body .vmesta-call-layer.view-compact .vmesta-call-card{transition:none!important}}

/* Header-safe adaptive call rails v68 */
html:root body .vmesta-call-layer.view-compact:not([data-call-dock="free"]) .vmesta-call-resize-handle{display:none!important}

/* В боковой рейке управление находится в её собственной верхней панели,
   а не отнимает отдельную строку у камер. */
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-topbar{position:relative!important;z-index:8!important;height:3rem!important;padding:.25rem .35rem!important;cursor:grab!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-topbar>strong{display:none!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-topbar-actions{margin-left:auto!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-actions{position:absolute!important;z-index:9!important;top:.25rem!important;right:4.55rem!important;display:flex!important;width:auto!important;min-height:0!important;order:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-stage{order:2!important;padding:.45rem .55rem .58rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-stage{align-content:center!important;padding:.58rem .65rem!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-video-wall{align-self:stretch!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;gap:.38rem!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-video-wall:is(.layout-3,.layout-4){grid-template-rows:repeat(2,minmax(0,1fr))!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-video-tile{height:auto!important;aspect-ratio:1/1!important;align-self:start!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-stage h2{padding-top:.05rem!important}

/* Верхнее закрепление — это одна аккуратная строка под #site-header.
   Видеопотоки не растягивают её: они становятся четырьмя мини-плитками. */
html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-card{display:flex!important;flex-direction:row!important;align-items:center!important;overflow:visible!important;border-radius:.95rem!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-topbar{width:4.1rem!important;height:100%!important;flex:0 0 4.1rem!important;order:3!important;padding:0!important;border:0!important;background:transparent!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-topbar> :not(div){display:none!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-stage{display:grid!important;min-width:0!important;height:100%!important;flex:1 1 auto!important;order:1!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:1fr 1fr!important;align-items:center!important;padding:.34rem .35rem .34rem .48rem!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-stage h2{min-width:0!important;grid-column:1!important;grid-row:1!important;align-self:end!important;overflow:hidden!important;padding:0!important;font-size:.66rem!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-stage>p{grid-column:1!important;grid-row:2!important;align-self:start!important;padding:.05rem 0 0!important;font-size:.53rem!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-actions{position:relative!important;width:auto!important;min-height:0!important;flex:0 0 auto!important;order:2!important;margin:0!important;padding:0 .1rem!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-stage{grid-template-columns:clamp(6.4rem,24vw,10rem) minmax(0,1fr)!important;grid-template-rows:1fr 1fr!important;column-gap:.5rem!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-stage h2{grid-column:2!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-stage>p{grid-column:2!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-video-wall{position:relative!important;display:grid!important;width:100%!important;height:2.65rem!important;min-height:0!important;grid-column:1!important;grid-row:1/3!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:1fr!important;align-self:center!important;gap:.2rem!important;padding:0!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-video-tile{position:relative!important;inset:auto!important;width:100%!important;height:2.65rem!important;min-height:0!important;grid-row:1!important;aspect-ratio:1/1!important;border-radius:.5rem!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-video-tile.is-remote{grid-column:1!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-video-tile.is-local{grid-column:2!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-video-tile.is-extra{grid-column:3!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-video-tile.is-extra2{grid-column:4!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-video-tile>b{display:none!important}

@media(max-width:640px){html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-card{width:calc(100vw - 1rem)!important}html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="top"] .vmesta-call-stage{grid-template-columns:5.2rem minmax(0,1fr)!important}html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-topbar{width:3.9rem!important;flex-basis:3.9rem!important}html:root body .vmesta-call-layer.view-compact[data-call-dock="top"] .vmesta-call-stage h2{font-size:.59rem!important}}

/* Stable audio/video compact transitions v69 */
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-stage{grid-template-columns:minmax(4.6rem,7rem) minmax(0,1fr)!important;grid-template-rows:1fr 1fr!important;column-gap:.55rem!important;padding-left:.65rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-compact-members{display:flex!important;min-width:0!important;max-width:7rem!important;grid-column:1!important;grid-row:1/3!important;align-items:center!important;align-self:center!important;gap:.16rem!important;overflow:hidden!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-compact-avatar,
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-compact-empty{width:1.72rem!important;height:1.72rem!important;flex:0 0 1.72rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-compact-empty~.vmesta-call-compact-empty{display:none!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-stage h2{grid-column:2!important;grid-row:1!important;align-self:end!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-stage>p{grid-column:2!important;grid-row:2!important;align-self:start!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] :is(.vmesta-call-avatar-wrap,.vmesta-call-local-indicator){display:none!important}

html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-topbar>strong{display:block!important;flex:0 1 auto!important;margin-left:.15rem!important;color:var(--call-accent)!important;font-size:.5rem!important;letter-spacing:.12em!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-actions{gap:.12rem!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-topbar-actions{gap:.12rem!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) :is(.vmesta-call-actions>button,.vmesta-call-topbar button){width:1.82rem!important;height:1.82rem!important;border-radius:.58rem!important}
html:root body .vmesta-call-layer.view-compact:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-actions>button>svg{width:1.65rem!important;height:1.65rem!important}

@media(max-width:460px){html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-stage{grid-template-columns:4.6rem minmax(0,1fr)!important;column-gap:.3rem!important;padding-left:.4rem!important}html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-compact-avatar,html:root body .vmesta-call-layer.view-compact:not(.has-video)[data-call-dock="top"] .vmesta-call-compact-empty{width:1.5rem!important;height:1.5rem!important;flex-basis:1.5rem!important}}

/* One predictable compact call window v70 */
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-card{display:flex!important;flex-direction:row!important;align-items:center!important;overflow:visible!important;height:var(--call-compact-height,4.75rem)!important;border-radius:.95rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-topbar{position:relative!important;width:4.1rem!important;height:100%!important;flex:0 0 4.1rem!important;order:3!important;padding:0!important;border:0!important;background:transparent!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-topbar>:not(div){display:none!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-stage{display:grid!important;min-width:0!important;height:100%!important;flex:1 1 auto!important;order:1!important;grid-template-columns:minmax(4.8rem,7rem) minmax(0,1fr)!important;grid-template-rows:1fr 1fr!important;column-gap:.48rem!important;align-items:center!important;padding:.36rem .2rem .36rem .6rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-compact-members{display:flex!important;min-width:0!important;max-width:7rem!important;grid-column:1!important;grid-row:1/3!important;align-items:center!important;gap:.16rem!important;overflow:hidden!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-stage h2{min-width:0!important;grid-column:2!important;grid-row:1!important;align-self:end!important;overflow:hidden!important;padding:0!important;font-size:.66rem!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-stage>p{grid-column:2!important;grid-row:2!important;align-self:start!important;padding:.04rem 0 0!important;font-size:.53rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) :is(.vmesta-call-avatar-wrap,.vmesta-call-local-indicator,.vmesta-call-video-wall){display:none!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions{position:relative!important;top:auto!important;right:auto!important;display:flex!important;width:auto!important;min-height:0!important;flex:0 0 auto!important;order:2!important;margin:0!important;padding:0 .08rem!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-resize-handle{display:none!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-card{display:flex!important;flex-direction:row!important;align-items:center!important;height:var(--call-compact-height,4.75rem)!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-topbar{position:relative!important;width:4.1rem!important;height:100%!important;flex:0 0 4.1rem!important;order:3!important;padding:0!important;border:0!important;background:transparent!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-topbar>:not(div){display:none!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-stage{display:grid!important;min-width:0!important;height:100%!important;flex:1 1 auto!important;order:1!important;grid-template-columns:minmax(4.8rem,7rem) minmax(0,1fr)!important;grid-template-rows:1fr 1fr!important;column-gap:.48rem!important;align-content:normal!important;align-items:center!important;padding:.36rem .2rem .36rem .6rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-compact-members{display:flex!important;min-width:0!important;max-width:7rem!important;grid-column:1!important;grid-row:1/3!important;align-items:center!important;gap:.16rem!important;overflow:hidden!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-stage h2{grid-column:2!important;grid-row:1!important;align-self:end!important;padding:0!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-stage>p{grid-column:2!important;grid-row:2!important;align-self:start!important;padding:.04rem 0 0!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) :is(.vmesta-call-avatar-wrap,.vmesta-call-local-indicator,.vmesta-call-video-wall){display:none!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video):is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-actions{position:relative!important;top:auto!important;right:auto!important;width:auto!important;min-height:0!important;flex:0 0 auto!important;order:2!important;margin:0!important;padding:0 .08rem!important;border:0!important;background:transparent!important}

html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;overflow:visible!important;border-radius:1rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar{position:relative!important;z-index:8!important;width:100%!important;height:3rem!important;flex:0 0 3rem!important;order:0!important;padding:.25rem .38rem .25rem .72rem!important;border-bottom:1px solid var(--call-line)!important;background:color-mix(in srgb,var(--call-surface-soft) 88%,transparent)!important;cursor:grab!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar>strong{display:block!important;min-width:0!important;overflow:hidden!important;color:var(--call-accent)!important;font-size:.5rem!important;letter-spacing:.14em!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar>span{display:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar-actions{margin-left:auto!important;gap:.14rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions{position:absolute!important;z-index:9!important;top:.3rem!important;right:4.55rem!important;display:flex!important;width:auto!important;min-height:0!important;order:0!important;gap:.14rem!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html:root body .vmesta-call-layer.view-compact.has-video :is(.vmesta-call-actions>button,.vmesta-call-topbar button){width:1.9rem!important;height:1.9rem!important;border-radius:.6rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button>svg{width:1.72rem!important;height:1.72rem!important;padding:.45rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-stage{display:grid!important;width:100%!important;min-height:0!important;flex:1 1 auto!important;order:1!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important;gap:.08rem!important;padding:.45rem .55rem .58rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-stage h2{grid-column:1!important;grid-row:1!important;align-self:center!important;padding:0 .08rem!important;font-size:.67rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-stage>p{grid-column:1!important;grid-row:2!important;padding:0 .08rem .28rem!important;font-size:.53rem!important}
html:root body .vmesta-call-layer.view-compact.has-video :is(.vmesta-call-avatar-wrap,.vmesta-call-local-indicator,.vmesta-call-compact-members){display:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall{position:relative!important;inset:auto!important;display:grid!important;width:100%!important;height:100%!important;min-height:0!important;grid-column:1!important;grid-row:3!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;gap:.4rem!important;padding:0!important;opacity:1!important;transform:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall:is(.layout-3,.layout-4){grid-template-rows:repeat(2,minmax(0,1fr))!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;aspect-ratio:auto!important;align-self:stretch!important;border-radius:.72rem!important;transform:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-remote{grid-column:1!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-local{grid-column:2!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-extra{grid-column:1!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-extra2{grid-column:2!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-stage{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-stage h2{grid-column:1!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-stage>p{grid-column:1!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-wall{width:100%!important;height:100%!important;grid-column:1!important;grid-row:3!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-wall:is(.layout-3,.layout-4){grid-template-rows:repeat(2,minmax(0,1fr))!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile{width:100%!important;height:100%!important;aspect-ratio:auto!important;align-self:stretch!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile>b{display:inline-flex!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile.is-remote{grid-column:1!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile.is-local{grid-column:2!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile.is-extra{grid-column:1!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile.is-extra2{grid-column:2!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"]) .vmesta-call-resize-handle{display:block!important}
html:root body .vmesta-call-layer.view-compact.has-video[data-call-dock="right"] .vmesta-call-resize-handle{right:auto!important;left:.12rem!important;cursor:nesw-resize!important}

html:root body .vmesta-call-layer.view-compact[data-call-dock="left"] .vmesta-call-card{border-left:0!important;border-radius:0 1rem 1rem 0!important}
html:root body .vmesta-call-layer.view-compact[data-call-dock="right"] .vmesta-call-card{border-right:0!important;border-radius:1rem 0 0 1rem!important}
html:root body .vmesta-call-layer.is-ending-compact .vmesta-call-card{will-change:opacity,transform!important;animation:vmesta-call-compact-dismiss-v70 .3s cubic-bezier(.22,.7,.25,1) both!important}
html:root body .vmesta-call-layer.is-ending-compact[data-call-dock="left"] .vmesta-call-card{transform-origin:left center!important}
html:root body .vmesta-call-layer.is-ending-compact[data-call-dock="right"] .vmesta-call-card{transform-origin:right center!important}
@keyframes vmesta-call-compact-dismiss-v70{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.94)}}

@media(max-width:520px){html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-stage{grid-template-columns:4.5rem minmax(0,1fr)!important;column-gap:.25rem!important;padding-left:.38rem!important}html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-stage{padding:.4rem!important}html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions{right:4.35rem!important}}

/* Collision-proof compact controls and remote-first video v71 */
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-card{min-width:min(21.25rem,calc(100vw - .5rem))!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-stage{width:auto!important;min-width:0!important;flex:1 1 0!important;grid-template-columns:6.9rem minmax(0,1fr)!important;column-gap:.5rem!important;overflow:hidden!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-compact-members{width:6.9rem!important;min-width:6.9rem!important;max-width:6.9rem!important;flex:0 0 6.9rem!important;gap:.12rem!important;overflow:visible!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) :is(.vmesta-call-compact-avatar,.vmesta-call-compact-empty){width:1.63rem!important;height:1.63rem!important;min-width:1.63rem!important;flex:0 0 1.63rem!important;padding:.08rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-stage h2{max-width:100%!important;margin:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions{width:4.05rem!important;min-width:4.05rem!important;flex:0 0 4.05rem!important;justify-content:center!important;gap:.14rem!important;padding:0!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-topbar{width:4.05rem!important;min-width:4.05rem!important;flex:0 0 4.05rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-topbar-actions{display:flex!important;width:100%!important;min-width:0!important;justify-content:center!important;gap:.14rem!important}
html:root body .vmesta-call-layer.view-compact :is(.vmesta-call-actions>button,.vmesta-call-topbar button){box-sizing:border-box!important;min-width:1.9rem!important;max-width:1.9rem!important;flex:0 0 1.9rem!important}

html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar{box-sizing:border-box!important;padding-right:.38rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar>strong{max-width:calc(100% - 9rem)!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions{width:4.05rem!important;min-width:4.05rem!important;justify-content:center!important;gap:.14rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar-actions{width:4.05rem!important;min-width:4.05rem!important;flex:0 0 4.05rem!important;justify-content:center!important;gap:.14rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall,
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-wall{isolation:isolate!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:.42rem!important;overflow:hidden!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall:is(.layout-3,.layout-4),
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-wall:is(.layout-3,.layout-4){grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr) minmax(4.75rem,32%)!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-remote,
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile.is-remote{position:relative!important;inset:auto!important;z-index:1!important;width:100%!important;height:100%!important;grid-column:1/-1!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-local,
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-tile.is-local{position:absolute!important;z-index:5!important;top:.5rem!important;right:.5rem!important;bottom:auto!important;left:auto!important;width:clamp(4.6rem,26%,6.35rem)!important;height:auto!important;min-height:0!important;grid-column:auto!important;grid-row:auto!important;aspect-ratio:3/4!important;border:.14rem solid var(--call-surface)!important;border-radius:.68rem!important;box-shadow:0 .55rem 1.35rem rgb(0 0 0/.3)!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-3 .vmesta-call-video-tile.is-extra,
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-wall.layout-3 .vmesta-call-video-tile.is-extra{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;grid-column:1/-1!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-4 .vmesta-call-video-tile.is-extra,
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-wall.layout-4 .vmesta-call-video-tile.is-extra{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;grid-column:1!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-4 .vmesta-call-video-tile.is-extra2,
html:root body .vmesta-call-layer.view-compact.has-video:is([data-call-dock="left"],[data-call-dock="right"],[data-call-dock="top"]) .vmesta-call-video-wall.layout-4 .vmesta-call-video-tile.is-extra2{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;grid-column:2!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-local>b{right:.18rem!important;bottom:.18rem!important;left:.18rem!important;max-width:calc(100% - .36rem)!important;padding:.1rem .18rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-tile.is-local .vmesta-call-tile-name{max-width:3.2rem!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.is-focused .vmesta-call-video-tile:not(.is-focused):not(.is-local){display:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.is-focused .vmesta-call-video-tile.is-focused{position:relative!important;inset:auto!important;z-index:2!important;display:block!important;width:100%!important;height:100%!important;grid-column:1/-1!important;grid-row:1/-1!important;aspect-ratio:auto!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.focus-local .vmesta-call-video-tile.is-remote{position:absolute!important;z-index:5!important;display:block!important;top:.5rem!important;right:.5rem!important;bottom:auto!important;left:auto!important;width:clamp(4.6rem,26%,6.35rem)!important;height:auto!important;aspect-ratio:3/4!important;border:.14rem solid var(--call-surface)!important;box-shadow:0 .55rem 1.35rem rgb(0 0 0/.3)!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.focus-local .vmesta-call-video-tile.is-local{position:relative!important;inset:auto!important;z-index:2!important;width:100%!important;height:100%!important;grid-column:1/-1!important;grid-row:1/-1!important;aspect-ratio:auto!important;border-width:1px!important;box-shadow:none!important}
@media(max-width:380px){html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-stage{grid-template-columns:5.25rem minmax(0,1fr)!important;column-gap:.3rem!important}html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-compact-members{width:5.25rem!important;min-width:5.25rem!important;max-width:5.25rem!important;flex-basis:5.25rem!important}html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-compact-empty~.vmesta-call-compact-empty{display:none!important}}

/* Round compact controls, click-to-swap video and quick invite v72 */
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button{box-sizing:border-box!important;display:grid!important;width:2rem!important;height:2rem!important;min-width:2rem!important;max-width:2rem!important;min-height:2rem!important;max-height:2rem!important;flex:0 0 2rem!important;place-items:center!important;gap:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;box-shadow:none!important;line-height:1!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-mute{background:color-mix(in srgb,var(--call-control) 80%,var(--call-accent) 20%)!important;color:var(--call-accent)!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-mute.is-active{background:color-mix(in srgb,var(--call-warning) 76%,var(--call-accent) 24%)!important;color:#fff!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-decline{background:color-mix(in srgb,var(--call-danger) 82%,var(--call-accent) 18%)!important;color:#fff!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button>svg,
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>.is-decline>svg{box-sizing:border-box!important;display:block!important;width:1rem!important;height:1rem!important;min-width:1rem!important;max-width:1rem!important;margin:0!important;padding:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;filter:none!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions{width:4.2rem!important;min-width:4.2rem!important;flex-basis:4.2rem!important;gap:.2rem!important}
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-topbar{width:4.2rem!important;min-width:4.2rem!important;flex-basis:4.2rem!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar button{box-sizing:border-box!important;display:grid!important;width:2rem!important;height:2rem!important;min-width:2rem!important;max-width:2rem!important;min-height:2rem!important;max-height:2rem!important;flex:0 0 2rem!important;place-items:center!important;margin:0!important;padding:0!important;line-height:1!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar-actions{width:4.2rem!important;min-width:4.2rem!important;flex-basis:4.2rem!important;gap:.2rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions{right:4.75rem!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-invite{position:absolute!important;z-index:7!important;top:.5rem!important;left:.5rem!important;display:flex!important;width:auto!important;height:1.85rem!important;align-items:center!important;gap:.3rem!important;margin:0!important;padding:0 .55rem!important;border:1px solid rgb(255 255 255/.24)!important;border-radius:999px!important;background:color-mix(in srgb,var(--call-surface) 78%,transparent)!important;color:#fff!important;box-shadow:0 .35rem 1rem rgb(0 0 0/.22)!important;backdrop-filter:blur(10px)!important;cursor:pointer!important;font:inherit!important;font-size:.5rem!important;font-weight:850!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-invite[hidden]{display:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-invite svg{width:.9rem!important;height:.9rem!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-invite:hover{background:var(--call-accent)!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.focus-local .vmesta-call-video-tile.is-remote{cursor:pointer!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall:not(.focus-local) .vmesta-call-video-tile.is-local{cursor:pointer!important}
@media(max-width:420px){html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-invite span{display:none!important}html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-invite{width:1.85rem!important;justify-content:center!important;padding:0!important}}

/* Centered round call controls and deterministic camera swap v73 */
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar{height:3.5rem!important;flex:0 0 3.5rem!important;padding-block:.65rem!important;align-items:center!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions{top:.75rem!important;right:4.75rem!important;height:2rem!important;align-items:center!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-topbar-actions{height:2rem!important;align-items:center!important;align-self:center!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button{overflow:hidden!important;border-radius:999px!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button>svg{width:1.12rem!important;height:1.12rem!important;min-width:1.12rem!important;max-width:1.12rem!important;overflow:visible!important;color:currentColor!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-decline>svg,
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-decline>svg path{fill:currentColor!important;stroke:none!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-mute>svg.vmesta-call-material-svg,
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-mute>svg.vmesta-call-material-svg path{fill:currentColor!important;stroke:none!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-mute>svg:not(.vmesta-call-material-svg),
html:root body .vmesta-call-layer.view-compact .vmesta-call-actions>button.is-mute>svg:not(.vmesta-call-material-svg) path{fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-invite{display:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.is-focused.focus-local>.vmesta-call-video-tile.is-remote{position:absolute!important;z-index:8!important;display:block!important;visibility:visible!important;opacity:1!important;top:.5rem!important;right:.5rem!important;bottom:auto!important;left:auto!important;width:clamp(4.6rem,26%,6.35rem)!important;height:auto!important;grid-column:auto!important;grid-row:auto!important;aspect-ratio:3/4!important;border:.14rem solid var(--call-surface)!important;border-radius:.68rem!important;box-shadow:0 .55rem 1.35rem rgb(0 0 0/.3)!important;pointer-events:auto!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.is-focused.focus-local>.vmesta-call-video-tile.is-local{position:relative!important;inset:auto!important;z-index:2!important;display:block!important;width:100%!important;height:100%!important;grid-column:1/-1!important;grid-row:1/-1!important;aspect-ratio:auto!important;visibility:visible!important;opacity:1!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-3.is-focused.focus-local{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr) minmax(4.75rem,32%)!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-3.is-focused.focus-local>.vmesta-call-video-tile.is-local{grid-column:1/-1!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-3.is-focused.focus-local>.vmesta-call-video-tile.is-remote{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;grid-column:1!important;grid-row:2!important;aspect-ratio:auto!important;border-width:1px!important;box-shadow:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-3.is-focused.focus-local>.vmesta-call-video-tile.is-extra{display:block!important;grid-column:2!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-4.is-focused.focus-local{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr) minmax(4.75rem,32%)!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-4.is-focused.focus-local>.vmesta-call-video-tile.is-local{grid-column:1/-1!important;grid-row:1!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-4.is-focused.focus-local>.vmesta-call-video-tile.is-remote{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;grid-column:1!important;grid-row:2!important;aspect-ratio:auto!important;border-width:1px!important;box-shadow:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-4.is-focused.focus-local>.vmesta-call-video-tile.is-extra{display:block!important;grid-column:2!important;grid-row:2!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-video-wall.layout-4.is-focused.focus-local>.vmesta-call-video-tile.is-extra2{display:block!important;grid-column:3!important;grid-row:2!important}

/* Restore visible circular microphone and handset controls v74 */
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button{box-sizing:border-box!important;display:grid!important;width:2rem!important;height:2rem!important;min-width:2rem!important;max-width:2rem!important;min-height:2rem!important;max-height:2rem!important;flex:0 0 2rem!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;overflow:visible!important;line-height:1!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button>svg,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button>svg,
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>.is-decline>svg,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>.is-decline>svg{box-sizing:border-box!important;display:block!important;width:1.08rem!important;height:1.08rem!important;min-width:1.08rem!important;max-width:1.08rem!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;transform:none!important;filter:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button.is-decline>svg,
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button.is-decline>svg path,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button.is-decline>svg,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button.is-decline>svg path{fill:currentColor!important;stroke:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button.is-mute>svg.vmesta-call-material-svg,
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button.is-mute>svg.vmesta-call-material-svg path,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button.is-mute>svg.vmesta-call-material-svg,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button.is-mute>svg.vmesta-call-material-svg path{fill:currentColor!important;stroke:none!important}
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button.is-mute>svg:not(.vmesta-call-material-svg),
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions>button.is-mute>svg:not(.vmesta-call-material-svg) path,
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button.is-mute>svg:not(.vmesta-call-material-svg),
html:root body .vmesta-call-layer.view-compact:not(.has-video) .vmesta-call-actions>button.is-mute>svg:not(.vmesta-call-material-svg) path{fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}

/* Repair compact call menu rows after toolbar sizing v75 */
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls{display:grid!important;width:min(16rem,calc(100vw - 1rem))!important;max-width:calc(100vw - 1rem)!important;height:auto!important;max-height:min(24rem,70vh)!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:.38rem!important;padding:.55rem!important;overflow-x:hidden!important;overflow-y:auto!important;border-radius:.9rem!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>strong{display:block!important;width:100%!important;padding:.22rem .38rem .12rem!important;font-size:.57rem!important;line-height:1.25!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>.vmesta-call-dock-picker{display:grid!important;width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.38rem!important;padding:.12rem 0 .48rem!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>.vmesta-call-dock-picker>button{box-sizing:border-box!important;display:grid!important;width:100%!important;min-width:0!important;max-width:none!important;height:2.2rem!important;min-height:2.2rem!important;max-height:2.2rem!important;place-items:center!important;margin:0!important;padding:0!important;border-radius:.62rem!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>.vmesta-call-dock-picker>button svg{width:.95rem!important;height:.95rem!important;margin:0!important;padding:0!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>button{box-sizing:border-box!important;display:grid!important;width:100%!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:2.65rem!important;max-height:none!important;grid-template-columns:1.15rem minmax(0,1fr) 1rem!important;align-items:center!important;gap:.55rem!important;margin:0!important;padding:.58rem .65rem!important;border:0!important;border-radius:.68rem!important;background:transparent!important;color:var(--call-text)!important;text-align:left!important;line-height:1.25!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>button:hover{background:var(--call-control)!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>button>svg{box-sizing:border-box!important;width:1.05rem!important;height:1.05rem!important;min-width:1.05rem!important;max-width:1.05rem!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important}
html:root body .vmesta-call-layer.view-compact .vmesta-call-topbar .vmesta-call-more-menu.is-compact-controls>button>span{display:block!important;min-width:0!important;overflow:visible!important;font-size:.63rem!important;font-weight:800!important;line-height:1.25!important;white-space:normal!important}

/* Aligned compact video controls, smooth handset dock and reliable space pin state v77 */
html:root body .vmesta-call-layer.view-compact.has-video .vmesta-call-actions{top:1.075rem!important;right:5.08rem!important}
html:root body .vmesta-call-layer.is-ended .vmesta-call-hangup-handset{will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0);animation:vmesta-handset-dock-v77 1.25s cubic-bezier(.22,.74,.24,1) both!important}
html:root body .vmesta-call-layer.is-ended .vmesta-call-hangup-cradle{animation:vmesta-cradle-ready-v77 .32s .5s ease-out both!important}
html:root body .vmesta-call-layer.is-ended .vmesta-call-radio-wave{animation:vmesta-call-wave-v77 .86s ease-out both!important}
html:root body .vmesta-call-layer.is-ended .vmesta-call-radio-wave.is-two{animation-delay:.06s!important}
html:root body .vmesta-call-layer.is-ended .vmesta-call-radio-wave.is-three{animation-delay:.12s!important}
html:root body .vmesta-call-layer.is-ended .vmesta-call-hangup-impact{animation:vmesta-call-impact-v77 .34s .98s ease-out both!important}
@keyframes vmesta-handset-dock-v77{0%{opacity:.2;transform:translate3d(2.1rem,-2rem,0) rotate(-11deg)}34%{opacity:1;transform:translate3d(1.42rem,-1.48rem,0) rotate(-7deg)}68%{transform:translate3d(.42rem,-.38rem,0) rotate(-2deg)}88%{transform:translate3d(.02rem,.06rem,0) rotate(1deg)}100%{opacity:1;transform:translate3d(0,0,0) rotate(0)}}
@keyframes vmesta-cradle-ready-v77{from{opacity:0;transform:translate3d(0,.22rem,0)}to{opacity:.78;transform:translate3d(0,0,0)}}
@keyframes vmesta-call-wave-v77{0%{opacity:0;transform:scale(.35)}22%,55%{opacity:.9}100%{opacity:0;transform:scale(1.08)}}
@keyframes vmesta-call-impact-v77{0%{opacity:0;transform:translateX(-50%) scale(.45)}30%{opacity:1}100%{opacity:0;transform:translateX(-50%) translateY(-.38rem) scale(1.12)}}

/* Canonical blacklist rows and one VMESTA video surface v66 */
html:root body .privacy-blacklist-card,html:root body .privacy-blacklist-card :is(button,strong,small,p,h4){font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif)!important}
html:root body .privacy-blacklist-user{cursor:default}
html:root body .privacy-blacklist-user-copy:hover strong{color:var(--theme-color,#269558)!important}
html:root body .privacy-blacklist-user-actions{display:flex;align-items:center;justify-content:flex-end;gap:.42rem}
html:root body .privacy-blacklist-open{min-height:2.15rem;display:inline-flex;align-items:center;border-radius:.68rem;padding:.42rem .65rem;background:var(--vmesta-ui-panel,#fff);color:var(--vmesta-ui-ink,#174b8c);font-size:.58rem;font-weight:850;text-decoration:none;box-shadow:inset 0 0 0 1px var(--vmesta-ui-line,#dce6f1)}
html:root body .privacy-blacklist-open:hover{color:var(--theme-color,#269558);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-color,#269558) 42%,var(--vmesta-ui-line,#dce6f1))}

html:root body .post-media-grid.has-unified-video{display:grid!important;height:auto!important;max-height:none!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;grid-auto-rows:auto!important;gap:.65rem!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}
html:root body .post-media-grid.has-unified-video>*{grid-column:1!important;grid-row:auto!important}
html:root body .post-media-unified-video{position:relative;width:100%;min-width:0;aspect-ratio:16/9;overflow:visible}
html:root body .post-media-unified-video>.vmesta-video-player,html:root body .post-media-unified-video>video{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:16/9;object-fit:contain}
html:root body .messenger-generic-media:has(.vmesta-video-player),html:root body .messenger-generic-media .vmesta-video-player{width:100%!important;max-width:100%!important}

html:root body .vmesta-video-controls{grid-template-columns:2rem auto minmax(3.2rem,1fr) auto 2rem auto auto 2rem!important;overflow:visible!important}
html:root body .vmesta-video-volume-group,html:root body .vmesta-video-quality-group{position:relative;display:grid;place-items:center}
html:root body .vmesta-video-volume-popover,html:root body .vmesta-video-quality-menu{position:absolute;z-index:30;right:0;bottom:calc(100% + .65rem);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(.35rem) scale(.97);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
html:root body .vmesta-video-volume-group:is(:hover,:focus-within,.is-open)>.vmesta-video-volume-popover,html:root body .vmesta-video-quality-group:is(:hover,:focus-within,.is-open)>.vmesta-video-quality-menu{visibility:visible;opacity:1;pointer-events:auto;transform:none}
html:root body .vmesta-video-volume-popover{display:grid;width:12rem;grid-template-columns:2rem minmax(0,1fr) 2.4rem;align-items:center;gap:.45rem;border:1px solid rgb(255 255 255/.12);border-radius:.82rem;padding:.48rem;background:rgb(5 15 25/.94);box-shadow:0 1rem 2.4rem rgb(0 0 0/.4);backdrop-filter:blur(18px)}
html:root body .vmesta-video-volume-popover>button{display:grid;width:2rem;height:2rem;place-items:center;border:0;border-radius:.58rem;background:color-mix(in srgb,var(--vmesta-video-accent) 16%,transparent);color:#fff;cursor:pointer}
html:root body .vmesta-video-volume-popover>button span{grid-area:1/1;display:grid;place-items:center}
html:root body .vmesta-video-volume-popover svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html:root body .vmesta-video-volume-range{width:100%;height:.3rem;border:0;border-radius:99px;appearance:none;-webkit-appearance:none;background:linear-gradient(to right,var(--vmesta-video-accent) 0 var(--vmesta-video-volume),rgb(255 255 255/.18) var(--vmesta-video-volume) 100%);cursor:pointer}
html:root body .vmesta-video-volume-range::-webkit-slider-thumb{width:.8rem;height:.8rem;border:.12rem solid #fff;border-radius:50%;appearance:none;-webkit-appearance:none;background:var(--vmesta-video-accent);box-shadow:0 0 .65rem color-mix(in srgb,var(--vmesta-video-accent) 72%,transparent)}
html:root body .vmesta-video-volume-popover output{color:#dce9ef;font-size:.55rem;font-weight:900;text-align:right;font-variant-numeric:tabular-nums}
html:root body .vmesta-video-player.is-muted .vmesta-video-volume-popover .is-volume{display:none}
html:root body .vmesta-video-player:not(.is-muted) .vmesta-video-volume-popover .is-muted{display:none}

html:root body .vmesta-video-quality-trigger{display:flex;min-width:3.6rem;height:2rem;align-items:center;justify-content:center;gap:.22rem;border:0;border-radius:.6rem;padding:0 .46rem;background:transparent;color:#fff;cursor:pointer}
html:root body .vmesta-video-quality-trigger:hover{background:color-mix(in srgb,var(--vmesta-video-accent) 24%,transparent)}
html:root body .vmesta-video-quality-trigger:disabled{opacity:.48;cursor:not-allowed}
html:root body .vmesta-video-quality-trigger strong{font-size:.55rem;font-weight:900;white-space:nowrap}
html:root body .vmesta-video-quality-trigger svg{width:.8rem;height:.8rem;fill:none;stroke:currentColor;stroke-width:2;transition:transform .16s ease}
html:root body .vmesta-video-quality-group.is-open .vmesta-video-quality-trigger svg{transform:rotate(180deg)}
html:root body .vmesta-video-quality-menu{display:grid;width:12.5rem;gap:.28rem;border:1px solid rgb(255 255 255/.12);border-radius:.9rem;padding:.42rem;background:rgb(5 15 25/.95);box-shadow:0 1rem 2.4rem rgb(0 0 0/.42);backdrop-filter:blur(18px)}
html:root body .vmesta-video-quality-option{display:grid;grid-template-columns:1.45rem minmax(0,1fr);align-items:center;border:0;border-radius:.68rem;padding:.48rem .52rem;background:transparent;color:#dce9ef;text-align:left;cursor:pointer}
html:root body .vmesta-video-quality-option:hover,html:root body .vmesta-video-quality-option.is-active{background:color-mix(in srgb,var(--vmesta-video-accent) 18%,transparent);color:#fff}
html:root body .vmesta-video-quality-option>span{display:grid;grid-row:1/3;place-items:center;color:var(--vmesta-video-accent);opacity:0}
html:root body .vmesta-video-quality-option.is-active>span{opacity:1}
html:root body .vmesta-video-quality-option svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:2.2}
html:root body .vmesta-video-quality-option strong{font-size:.6rem;font-weight:900}
html:root body .vmesta-video-quality-option small{color:#8fa8b8;font-size:.49rem;font-weight:700}
html:root body .vmesta-video-quality-menu>em{padding:.35rem;color:#8fa8b8;font-size:.5rem;font-style:normal;font-weight:700;text-align:center}

html:root body .galaxy-video-volume-group{position:relative}
html:root body #galaxy-video-volume{position:absolute;z-index:25;left:50%;bottom:calc(100% + .7rem);width:8rem;visibility:hidden;opacity:0;transform:translate(-50%,.35rem);border:1px solid rgb(255 255 255/.12);border-radius:.75rem;padding:.75rem .65rem;background:rgb(5 15 25/.94);box-shadow:0 1rem 2.2rem rgb(0 0 0/.38);pointer-events:none;transition:.16s ease}
html:root body .galaxy-video-volume-group:is(:hover,:focus-within,.is-open) #galaxy-video-volume{visibility:visible;opacity:1;transform:translate(-50%,0);pointer-events:auto}

@media(max-width:720px){html:root body .privacy-blacklist-user-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}html:root body .privacy-blacklist-user-actions>*{width:100%;justify-content:center;text-align:center}}
@media(max-width:620px){html:root body .vmesta-video-controls{grid-template-columns:1.8rem minmax(3rem,1fr) 1.8rem auto 1.8rem!important}html:root body .vmesta-video-controls>time,html:root body .vmesta-video-speed{display:none!important}html:root body .vmesta-video-volume-popover{right:-3.2rem;width:min(12rem,76vw)}html:root body .vmesta-video-quality-menu{right:-2.6rem;width:min(12.5rem,78vw)}html:root body .vmesta-video-quality-trigger{min-width:3.3rem;padding-inline:.3rem}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){html:root body .vmesta-video-volume-popover,html:root body .vmesta-video-quality-menu,html:root body #galaxy-video-volume{transition:none!important}}

/* ------------[Компактный плеер, drop-зона и фотопросмотрщики v84]------------ //
   Маленький плеер сохраняет кнопку полного экрана, а второстепенные пункты
   остаются доступны после разворачивания. Модуль: «оформление интерфейса». Часть 3/15 */
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) .vmesta-video-controls {
  right:.36rem!important;
  bottom:.36rem!important;
  left:.36rem!important;
  grid-template-columns:1.9rem minmax(2.5rem,1fr) 1.9rem 1.9rem!important;
  gap:.22rem!important;
  min-height:2.35rem!important;
  padding:.22rem .28rem!important;
}
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) .vmesta-video-play { grid-column:1!important; }
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) .vmesta-video-range { grid-column:2!important;min-width:0!important; }
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) .vmesta-video-volume-group { grid-column:3!important; }
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) .vmesta-video-fullscreen { grid-column:4!important;display:grid!important;visibility:visible!important;opacity:1!important; }
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) :is(.vmesta-video-current,.vmesta-video-duration,.vmesta-video-quality-group,.vmesta-video-speed) { display:none!important; }
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) :is(.vmesta-video-control,.vmesta-video-volume-group) { width:1.9rem!important;min-width:1.9rem!important;height:1.9rem!important; }
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player) .vmesta-video-volume-popover { right:-2.15rem!important;width:min(11rem,78vw)!important; }

/* Полупрозрачное выделение не закрывает редактор тяжёлой зелёной плашкой. */
html:root body .vmesta-file-drop-overlay {
  border-color:color-mix(in srgb,var(--theme-color,#269558) 62%,transparent)!important;
  background:color-mix(in srgb,var(--vmesta-ui-panel,var(--msg-panel,#fff)) 76%,transparent)!important;
  box-shadow:0 .8rem 2rem rgb(12 52 36/.1),inset 0 0 0 1px color-mix(in srgb,var(--theme-color,#269558) 10%,transparent)!important;
  backdrop-filter:blur(9px) saturate(1.08)!important;
}
html:root body .vmesta-file-drop-overlay>span {
  border:1px solid color-mix(in srgb,var(--theme-color,var(--msg-accent,#269558)) 52%,transparent)!important;
  border-radius:.38rem!important;
  background:color-mix(in srgb,var(--theme-color,var(--msg-accent,#269558)) 16%,transparent)!important;
  color:var(--theme-color,var(--msg-accent,#269558))!important;
  box-shadow:none!important;
}
html:root body .vmesta-file-drop-overlay svg,
html:root body .vmesta-file-drop-overlay svg * {
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  opacity:1!important;
}

/* Единая поверхность всех полноэкранных окон фотографий и медиавложений. */
html:root body :is(#media-viewer,.messenger-photo-viewer,.shared-post-media-viewer,.album-viewer-modal-shell) {
  background:rgb(3 10 20/.9)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
}
html:root body :is(.messenger-photo-viewer,.shared-post-media-viewer) figure {
  width:min(78rem,calc(100vw - 6rem))!important;
  height:min(54rem,calc(100dvh - 4rem))!important;
  margin:0!important;
  padding:.7rem!important;
  border:1px solid rgb(255 255 255/.14)!important;
  border-radius:1.25rem!important;
  background:rgb(8 18 31/.72)!important;
  box-shadow:0 1.7rem 5rem rgb(0 0 0/.42)!important;
}
html:root body :is(.messenger-photo-viewer,.shared-post-media-viewer) figure>:is(img,video,.vmesta-video-player) {
  max-width:100%!important;
  max-height:100%!important;
  border:0!important;
  border-radius:.9rem!important;
  box-shadow:none!important;
  object-fit:contain!important;
}
html:root body #media-viewer .media-viewer-layout {
  border:1px solid rgb(255 255 255/.14)!important;
  border-radius:1.25rem!important;
  background:rgb(8 18 31/.72)!important;
  box-shadow:0 1.7rem 5rem rgb(0 0 0/.42)!important;
}
html:root body :is(#media-viewer-close,.messenger-photo-viewer-close,.shared-post-media-close,.album-viewer-close,.profile-video-album-viewer-close) {
  width:2.75rem!important;
  min-width:2.75rem!important;
  height:2.75rem!important;
  min-height:2.75rem!important;
  padding:0!important;
  border:1px solid rgb(255 255 255/.16)!important;
  border-radius:.82rem!important;
  background:rgb(8 18 31/.76)!important;
  color:#fff!important;
  box-shadow:0 .65rem 1.7rem rgb(0 0 0/.24)!important;
  backdrop-filter:blur(12px)!important;
}
html:root body :is(#media-viewer-close,.messenger-photo-viewer-close,.shared-post-media-close,.album-viewer-close,.profile-video-album-viewer-close):hover {
  border-color:color-mix(in srgb,var(--theme-color,var(--msg-accent,#269558)) 72%,#fff)!important;
  background:var(--theme-color,var(--msg-accent,#269558))!important;
}
html:root body :is(#media-viewer-close,.messenger-photo-viewer-close,.shared-post-media-close,.album-viewer-close,.profile-video-album-viewer-close) svg {
  display:block!important;
  width:1.15rem!important;
  height:1.15rem!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
html:root body :is(#media-viewer-prev,#media-viewer-next,.messenger-photo-viewer-nav,.shared-post-media-nav) {
  top:50%!important;
  bottom:auto!important;
  width:3rem!important;
  min-width:3rem!important;
  height:3rem!important;
  min-height:3rem!important;
  padding:0!important;
  border:1px solid rgb(255 255 255/.17)!important;
  border-radius:50%!important;
  background:rgb(8 18 31/.72)!important;
  color:#fff!important;
  box-shadow:0 .7rem 1.8rem rgb(0 0 0/.26)!important;
  font-size:0!important;
  line-height:0!important;
  transform:translateY(-50%)!important;
  backdrop-filter:blur(12px)!important;
}
html:root body :is(#media-viewer-prev,#media-viewer-next,.messenger-photo-viewer-nav,.shared-post-media-nav):hover {
  border-color:color-mix(in srgb,var(--theme-color,var(--msg-accent,#269558)) 72%,#fff)!important;
  background:var(--theme-color,var(--msg-accent,#269558))!important;
}
html:root body :is(#media-viewer-prev,#media-viewer-next)::before { display:none!important;content:none!important; }
html:root body :is(#media-viewer-prev,#media-viewer-next,.messenger-photo-viewer-nav,.shared-post-media-nav) :is(.messenger-icon,svg) {
  display:block!important;
  width:1.2rem!important;
  height:1.2rem!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

@media(max-width:640px) {
  html:root body :is(.messenger-photo-viewer,.shared-post-media-viewer) figure { width:calc(100vw - 1.25rem)!important;height:calc(100dvh - 3.5rem)!important;padding:.35rem!important;border-radius:1rem!important; }
  html:root body .messenger-photo-viewer-nav.is-prev,html:root body .shared-post-media-nav.is-prev { left:.45rem!important; }
  html:root body .messenger-photo-viewer-nav.is-next,html:root body .shared-post-media-nav.is-next { right:.45rem!important; }
}

/* Router boundary, VMESTA block dialog typography and persistent chat drafts v65 */
html:root body .profile-block-confirm,html:root body .profile-block-confirm :is(button,strong,small,p,h2){font-family:var(--font-sans,ui-sans-serif,system-ui,sans-serif)!important}
html:root body .profile-block-confirm>section{width:min(32rem,100%)!important;padding:1rem!important;border:0!important;border-radius:1.35rem!important;background:var(--vmesta-ui-panel,#fff)!important;color:var(--vmesta-ui-ink,#174b8c)!important;box-shadow:0 1.7rem 4.5rem rgb(11 31 54/.28)!important}
html:root body .profile-block-confirm header{grid-template-columns:2.65rem minmax(0,1fr) 2.35rem!important;gap:.72rem!important}
html:root body .profile-block-confirm-emblem{width:2.65rem!important;height:2.65rem!important;border-radius:.85rem!important;background:color-mix(in srgb,var(--theme-color,#269558) 11%,#fff)!important;color:var(--theme-color,#269558)!important}
html:root body .profile-block-confirm-emblem svg{width:1.2rem!important;height:1.2rem!important}
html:root body .profile-block-confirm header small{margin:0 0 .14rem!important;color:var(--theme-color,#269558)!important;font-size:.52rem!important;font-weight:900!important;line-height:1.15!important;letter-spacing:.12em!important}
html:root body .profile-block-confirm h2{margin:0!important;color:var(--vmesta-ui-ink,#174b8c)!important;font-size:1rem!important;font-weight:900!important;line-height:1.18!important;letter-spacing:0!important}
html:root body .profile-block-confirm-close{width:2.35rem!important;height:2.35rem!important;border-radius:.72rem!important;background:color-mix(in srgb,var(--theme-color,#269558) 10%,#fff)!important;color:color-mix(in srgb,var(--theme-color,#269558) 72%,#526d82)!important}
html:root body .profile-block-confirm-person{gap:.65rem!important;margin:.85rem 0 .65rem!important;padding:.62rem!important;border-radius:.9rem!important;background:var(--vmesta-ui-soft,#f1f6fb)!important}
html:root body .profile-block-confirm-person img{width:2.65rem!important;height:2.65rem!important;flex-basis:2.65rem!important;border-radius:.72rem!important}
html:root body .profile-block-confirm-person strong{color:var(--vmesta-ui-ink,#174b8c)!important;font-size:.76rem!important;font-weight:900!important;line-height:1.25!important}
html:root body .profile-block-confirm-person small{margin-top:.1rem!important;color:var(--vmesta-ui-muted,#7190b3)!important;font-size:.58rem!important;font-weight:650!important}
html:root body .profile-block-confirm p{margin:.15rem .1rem .85rem!important;color:var(--vmesta-ui-muted,#617c9b)!important;font-size:.68rem!important;font-weight:600!important;line-height:1.5!important}
html:root body .profile-block-confirm footer{gap:.55rem!important}
html:root body .profile-block-confirm footer button{min-height:2.45rem!important;padding:.6rem .85rem!important;border-radius:.72rem!important;background:var(--vmesta-ui-soft,#edf3f8)!important;color:var(--vmesta-ui-ink,#174b8c)!important;font-size:.64rem!important;font-weight:900!important}
html:root body .profile-block-confirm footer .is-primary,html:root body .profile-block-confirm:not(.is-unblock) footer .is-primary{background:var(--theme-color,#269558)!important;color:#fff!important;box-shadow:0 .55rem 1.2rem color-mix(in srgb,var(--theme-color,#269558) 22%,transparent)!important}
html:root body.messages-route .messenger-chat-preview.is-draft{color:var(--msg-text)!important}
html:root body.messages-route .messenger-draft-label{display:inline-flex!important;align-items:center!important;gap:.2rem!important;color:var(--msg-accent)!important;font-weight:900!important;white-space:nowrap!important}
html:root body.messages-route .messenger-draft-label .messenger-icon{width:.72rem!important;height:.72rem!important;stroke-width:2.2!important}
@media(max-width:520px){html:root body .profile-block-confirm>section{padding:.85rem!important;border-radius:1.1rem!important}html:root body .profile-block-confirm footer{display:grid!important;grid-template-columns:1fr 1fr!important}html:root body .profile-block-confirm footer .is-primary{grid-row:auto!important}}

/* Editable message photos, compact media captions and disconnected-orbit state v64 */
html:root body.messages-route .messenger-bubble.has-photos:has(>p){display:flex!important;width:min(22rem,72vw)!important;max-width:calc(100% - .25rem)!important;flex-direction:column!important;align-items:stretch!important;gap:.28rem!important;padding:.25rem!important}
html:root body.messages-route .messenger-bubble.has-photos:has(>p)>.messenger-photo-grid{width:100%!important;max-width:100%!important;margin:0!important}
html:root body.messages-route .messenger-bubble.has-photos:has(>p)>.messenger-photo-grid.is-count-1{grid-auto-rows:clamp(10rem,30vw,15rem)!important}
html:root body.messages-route .messenger-bubble.has-photos:has(>p)>p{box-sizing:border-box;width:100%!important;margin:0!important;padding:.08rem .3rem 0!important}
html:root body.messages-route .messenger-bubble.has-photos:has(>p)>span{box-sizing:border-box;width:100%!important;margin:0!important;padding:0 .26rem .02rem!important}
html:root body.messages-route .messenger-pending-attachments article.is-existing{background:color-mix(in srgb,var(--msg-accent) 5%,var(--msg-panel))!important}
html:root body.messages-route .messenger-pending-attachments article.is-existing .messenger-attachment-ready-badge{background:color-mix(in srgb,var(--msg-accent) 14%,var(--msg-panel))!important;color:var(--msg-accent)!important}

html:root body .privacy-blacklist-error-scene{position:relative;width:9.2rem;height:6.2rem;margin:0 0 .2rem;overflow:visible;border-radius:0;background:radial-gradient(ellipse at 33% 55%,color-mix(in srgb,var(--theme-color,#269558) 9%,transparent),transparent 48%);box-shadow:none}
html:root body .privacy-blacklist-error-scene>i{position:absolute;display:block}
html:root body .privacy-blacklist-error-scene>.is-planet{z-index:0;right:.28rem;top:.72rem;width:2.7rem;height:2.7rem;border:2px solid color-mix(in srgb,var(--theme-color,#269558) 44%,#9bb7ca);border-radius:50%;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--theme-color,#269558) 13%,#fff),color-mix(in srgb,var(--theme-color,#269558) 6%,#edf5f8) 62%,transparent 64%);opacity:.72;animation:privacy-blacklist-planet-drift 7s ease-in-out infinite}
html:root body .privacy-blacklist-error-scene>.is-planet::before{content:"";position:absolute;left:-.55rem;right:-.55rem;top:1.08rem;height:.45rem;border:1.6px solid color-mix(in srgb,var(--theme-color,#269558) 50%,#91afc3);border-radius:50%;transform:rotate(-17deg)}
html:root body .privacy-blacklist-error-scene>.is-planet::after{content:"";position:absolute;right:.45rem;top:.48rem;width:.35rem;height:.35rem;border:1px solid color-mix(in srgb,var(--theme-color,#269558) 35%,#9db6c6);border-radius:50%}
html:root body .privacy-blacklist-error-scene>.is-orbit{z-index:0;left:.7rem;right:.5rem;bottom:.35rem;height:2.15rem;border:2px dashed color-mix(in srgb,var(--theme-color,#269558) 30%,transparent);border-width:0 0 2px;border-radius:50%;transform:rotate(-5deg);animation:privacy-blacklist-route 4.5s ease-in-out infinite}
html:root body .privacy-blacklist-error-scene>.is-broken-signal{z-index:3;right:2.55rem;top:1.4rem;width:1.6rem;height:1.6rem;transform:rotate(-12deg)}
html:root body .privacy-blacklist-error-scene>.is-broken-signal b{position:absolute;display:block;left:0;bottom:0;border:2px solid color-mix(in srgb,var(--theme-color,#269558) 66%,#5e8aa3);border-left-color:transparent;border-bottom-color:transparent;border-radius:0 100% 0 0}
html:root body .privacy-blacklist-error-scene>.is-broken-signal b:nth-child(1){width:.34rem;height:.34rem}
html:root body .privacy-blacklist-error-scene>.is-broken-signal b:nth-child(2){width:.76rem;height:.76rem}
html:root body .privacy-blacklist-error-scene>.is-broken-signal b:nth-child(3){width:1.2rem;height:1.2rem}
html:root body .privacy-blacklist-error-scene>.is-broken-signal::after{content:"";position:absolute;left:.48rem;top:-.12rem;width:2px;height:1.75rem;border-radius:1rem;background:#ef6a6a;transform:rotate(-43deg);box-shadow:0 0 0 2px var(--vmesta-ui-panel,#fff)}
html:root body .privacy-blacklist-drifter{position:absolute;z-index:2;left:.05rem;top:.05rem;width:6.6rem;height:5.5rem;overflow:visible;transform:none;animation:privacy-blacklist-outline-float 4.2s ease-in-out infinite}
html:root body .privacy-blacklist-drifter :is(.is-head,.is-body,.is-route,.is-disconnect){fill:none;stroke:color-mix(in srgb,var(--theme-color,#269558) 72%,#4c829c);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
html:root body .privacy-blacklist-drifter .is-route{stroke-width:2;stroke-dasharray:5 6;opacity:.58;animation:privacy-blacklist-route-dash 3s linear infinite}
html:root body .privacy-blacklist-drifter .is-disconnect{stroke:#ef6a6a;stroke-width:2.8}
@keyframes privacy-blacklist-outline-float{0%,100%{transform:translate3d(0,0,0) rotate(-1.5deg)}50%{transform:translate3d(.12rem,-.3rem,0) rotate(2deg)}}
@keyframes privacy-blacklist-planet-drift{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(.14rem,-.25rem,0) rotate(3deg)}}
@keyframes privacy-blacklist-route{0%,100%{opacity:.35}50%{opacity:.72}}
@keyframes privacy-blacklist-route-dash{to{stroke-dashoffset:-22}}
@media(max-width:520px){html:root body.messages-route .messenger-bubble.has-photos:has(>p){width:min(21rem,78vw)!important}}

/* VMESTA v117: the global player is one rounded media card, not a sharp-edged
   strip. Audio attachments own their surfaces and never inherit a chat bubble. */
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.is-track-only{
  --message-shape-fill:transparent!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.is-track-only>.messenger-file-list{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){.privacy-blacklist-error-scene *{animation:none!important}}

/* ------------[Единая нижняя панель видеоплееров v86]------------ //
   Все полноразмерные плееры показывают качество и шестерёнку настроек.
   Компактные карточки оставляют только воспроизведение и разворачивание. Модуль: «оформление интерфейса». Часть 4/15 */
html:root body .vmesta-video-settings-group{position:relative;display:grid;place-items:center}
html:root body .vmesta-video-settings-menu{position:absolute;z-index:34;right:0;bottom:calc(100% + .65rem);display:grid;width:min(18rem,82vw);gap:.5rem;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(.35rem) scale(.97);border:1px solid rgb(255 255 255/.13);border-radius:.92rem;padding:.62rem;background:rgb(5 15 25/.96);box-shadow:0 1rem 2.4rem rgb(0 0 0/.44);backdrop-filter:blur(18px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
html:root body .vmesta-video-settings-group.is-open>.vmesta-video-settings-menu{visibility:visible;opacity:1;pointer-events:auto;transform:none}
html:root body .vmesta-video-settings-menu>strong{color:#9fb2c1;font-size:.53rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
html:root body .vmesta-video-settings-menu>span{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.32rem}
html:root body .vmesta-video-settings-option{display:grid;min-height:2rem;place-items:center;border:1px solid rgb(255 255 255/.08)!important;border-radius:.58rem!important;padding:.3rem!important;background:rgb(255 255 255/.035)!important;color:#dce9ef!important;font-size:.58rem!important;font-weight:900!important;font-variant-numeric:tabular-nums;cursor:pointer}
html:root body .vmesta-video-settings-option:hover,html:root body .vmesta-video-settings-option.is-active{border-color:color-mix(in srgb,var(--vmesta-video-accent) 56%,transparent)!important;background:color-mix(in srgb,var(--vmesta-video-accent) 20%,transparent)!important;color:#fff!important}
html:root body .vmesta-video-settings-trigger[aria-expanded="true"]{background:color-mix(in srgb,var(--vmesta-video-accent) 24%,transparent)!important}

/* Полноразмерная версия общего плеера: качество, настройки и две стрелки. */
html:root body .vmesta-video-player:not(.is-compact) .vmesta-video-controls{grid-template-columns:2rem auto minmax(4rem,1fr) auto 2rem auto 2rem 2rem!important}
html:root body .vmesta-video-player:fullscreen{position:fixed!important;inset:0!important;box-sizing:border-box!important;width:100vw!important;min-width:100vw!important;max-width:none!important;height:100dvh!important;min-height:100dvh!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#020814!important}
html:root body .vmesta-video-player:fullscreen>video{position:absolute!important;inset:0!important;width:100%!important;min-width:100%!important;max-width:none!important;height:100%!important;min-height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-controls{right:.75rem!important;bottom:.65rem!important;left:.75rem!important;display:grid!important;grid-template-columns:2rem auto minmax(5rem,1fr) auto 2rem auto 2rem 2rem!important;gap:.38rem!important;min-height:2.8rem!important;padding:.36rem .48rem!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-play{grid-column:1!important;display:grid!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-current{grid-column:2!important;display:block!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-range{grid-column:3!important;display:block!important;min-width:5rem!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-duration{grid-column:4!important;display:block!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-volume-group{grid-column:5!important;display:grid!important;width:2rem!important;min-width:2rem!important;height:2rem!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-quality-group{grid-column:6!important;display:grid!important;visibility:visible!important;opacity:1!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-settings-group{grid-column:7!important;display:grid!important;visibility:visible!important;opacity:1!important}
html:root body .vmesta-video-player:fullscreen .vmesta-video-fullscreen{grid-column:8!important;display:grid!important;width:2rem!important;min-width:2rem!important;height:2rem!important;visibility:visible!important;opacity:1!important}

/* Маленькая карточка сообщения или публикации: только Play и разворачивание. */
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) .vmesta-video-controls{grid-template-columns:1.9rem 1.9rem!important;justify-content:space-between!important;gap:.3rem!important}
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) :is(.vmesta-video-current,.vmesta-video-duration,.vmesta-video-range,.vmesta-video-volume-group,.vmesta-video-quality-group,.vmesta-video-settings-group){display:none!important}
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) .vmesta-video-fullscreen{grid-column:2!important}

/* Основной просмотрщик использует ту же схему нижней панели. */
html:root body .galaxy-video-controls{grid-template-columns:2.15rem auto minmax(4rem,1fr) auto auto auto 2.15rem 2.15rem!important}
html:root body .galaxy-video-settings{position:relative;display:grid;place-items:center}
html:root body .galaxy-video-settings-menu{position:absolute;z-index:12;right:0;bottom:calc(100% + .62rem);display:grid;width:min(18rem,82vw);gap:.52rem;border:1px solid color-mix(in srgb,var(--galaxy-accent) 38%,rgb(255 255 255/.15));border-radius:.9rem;padding:.62rem;background:color-mix(in srgb,var(--galaxy-accent) 8%,rgb(5 8 22/.97));box-shadow:0 1rem 2.4rem rgb(0 0 0/.48);backdrop-filter:blur(22px)}
html:root body .galaxy-video-settings-menu.hidden{display:none!important}
html:root body .galaxy-video-settings-menu>strong{color:rgb(203 213 225/.76);font-size:.53rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
html:root body .galaxy-video-speed-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.32rem}
html:root body .galaxy-video-speed-option{display:grid;min-height:2.05rem;place-items:center;border:1px solid rgb(255 255 255/.08)!important;border-radius:.58rem!important;padding:.3rem!important;background:rgb(255 255 255/.035)!important;color:rgb(226 232 240/.82)!important;font-size:.59rem!important;font-weight:900!important;font-variant-numeric:tabular-nums;cursor:pointer}
html:root body .galaxy-video-speed-option:hover,html:root body .galaxy-video-speed-option.is-active{border-color:color-mix(in srgb,var(--galaxy-accent) 58%,transparent)!important;background:color-mix(in srgb,var(--galaxy-accent) 22%,transparent)!important;color:#fff!important}
html:root body .galaxy-video-settings-button[aria-expanded="true"]{background:color-mix(in srgb,var(--galaxy-accent) 24%,transparent)!important;color:#fff!important}
html:root body .galaxy-video-settings-button svg{width:1.1rem!important;height:1.1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html:root body .galaxy-video-player:fullscreen .galaxy-video-controls{grid-template-columns:2.15rem auto minmax(5rem,1fr) auto auto auto 2.15rem 2.15rem!important}

@media(max-width:700px){
  html:root body .vmesta-video-player:not(:fullscreen) .vmesta-video-controls,html:root body .galaxy-video-player .galaxy-video-controls{grid-template-columns:1.9rem 1.9rem!important;justify-content:space-between!important;gap:.3rem!important}
  html:root body .vmesta-video-player:not(:fullscreen) :is(.vmesta-video-current,.vmesta-video-duration,.vmesta-video-range,.vmesta-video-volume-group,.vmesta-video-quality-group,.vmesta-video-settings-group),html:root body .galaxy-video-player :is(#galaxy-video-current,#galaxy-video-duration,.galaxy-video-progress,.galaxy-video-volume-group,.galaxy-video-quality,.galaxy-video-settings){display:none!important}
  html:root body .galaxy-video-play-toggle{grid-column:1!important}
  html:root body #galaxy-video-fullscreen{grid-column:2!important}
}

/* ------------[Единый плеер во вкладках и меню скорости v87]------------ //
   Карточки видеотек профиля и пространства используют общий компактный
   плеер. Настройки скорости открываются отдельным экраном, как на YouTube. Модуль: «оформление интерфейса». Часть 5/15 */
html:root body :is(.profile-video-cover,.profile-video-album-viewer-media).has-unified-player{display:block!important;padding:0!important;cursor:default!important;background:#020814!important}
html:root body :is(.profile-video-cover,.profile-video-album-viewer-media).has-unified-player>.vmesta-video-player{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:inherit!important;border:0!important;border-radius:inherit!important}
html:root body :is(.profile-video-cover,.profile-video-album-viewer-media).has-unified-player>.vmesta-video-player>video{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;transform:none!important}
html:root body :is(.profile-video-cover,.profile-video-album-viewer-media).has-unified-player:hover>.vmesta-video-player>video{transform:none!important}
html:root body .profile-video-album-viewer-media.has-unified-player>.profile-video-album-cover-badge{z-index:9;pointer-events:none}

html:root body .vmesta-video-settings-menu{overflow:hidden}
html:root body .vmesta-video-settings-menu>.vmesta-video-settings-root,
html:root body .vmesta-video-settings-menu>.vmesta-video-speed-panel{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.42rem!important;width:100%!important}
html:root body .vmesta-video-settings-menu>.vmesta-video-speed-panel{display:none!important}
html:root body .vmesta-video-settings-group.is-speed-view .vmesta-video-settings-menu>.vmesta-video-settings-root{display:none!important}
html:root body .vmesta-video-settings-group.is-speed-view .vmesta-video-settings-menu>.vmesta-video-speed-panel{display:grid!important}
html:root body .vmesta-video-settings-row{display:grid!important;width:100%!important;min-height:2.85rem!important;grid-template-columns:1.65rem minmax(0,1fr) auto 1rem!important;align-items:center!important;gap:.48rem!important;border:0!important;border-radius:.68rem!important;padding:.48rem .55rem!important;background:transparent!important;color:#fff!important;text-align:left!important;cursor:pointer}
html:root body .vmesta-video-settings-row:hover{background:rgb(255 255 255/.08)!important}
html:root body .vmesta-video-settings-row-icon{display:grid;width:1.65rem;height:1.65rem;place-items:center;border-radius:50%;background:rgb(255 255 255/.07);color:#fff}
html:root body .vmesta-video-settings-row :is(svg,.vmesta-video-settings-row-icon svg){width:1rem!important;height:1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html:root body .vmesta-video-settings-row strong{min-width:0;color:#f5f8fa;font-size:.66rem;font-weight:850;white-space:nowrap}
html:root body .vmesta-video-settings-row em{color:#b8c7d1;font-size:.59rem;font-style:normal;font-weight:750;white-space:nowrap}
html:root body .vmesta-video-settings-back{display:grid!important;width:100%!important;min-height:2.5rem!important;grid-template-columns:1.25rem minmax(0,1fr)!important;align-items:center!important;gap:.4rem!important;border:0!important;border-bottom:1px solid rgb(255 255 255/.1)!important;border-radius:0!important;padding:.34rem .28rem .55rem!important;background:transparent!important;color:#fff!important;text-align:left!important;cursor:pointer}
html:root body .vmesta-video-settings-back:hover{color:var(--vmesta-video-accent)!important}
html:root body .vmesta-video-settings-back svg{width:1rem!important;height:1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html:root body .vmesta-video-settings-back strong{font-size:.66rem;font-weight:900}
html:root body .vmesta-video-speed-options{display:flex!important;flex-wrap:wrap!important;gap:.36rem!important;width:100%!important;padding:.12rem 0 0!important}
html:root body .vmesta-video-speed-options>.vmesta-video-settings-option{display:inline-grid!important;min-width:3.2rem!important;min-height:2.05rem!important;flex:1 1 3.2rem!important;padding:.32rem .48rem!important}

html:root body .galaxy-video-settings-menu{overflow:hidden}
html:root body .galaxy-video-settings-root,html:root body .galaxy-video-speed-panel{display:grid;gap:.42rem;width:100%}
html:root body .galaxy-video-speed-panel{display:none}
html:root body .galaxy-video-settings-menu.is-speed-view .galaxy-video-settings-root{display:none}
html:root body .galaxy-video-settings-menu.is-speed-view .galaxy-video-speed-panel{display:grid}
html:root body .galaxy-video-settings-row{display:grid!important;width:100%!important;min-height:2.9rem!important;grid-template-columns:1.7rem minmax(0,1fr) auto 1rem!important;align-items:center!important;gap:.5rem!important;border:0!important;border-radius:.68rem!important;padding:.48rem .55rem!important;background:transparent!important;color:#fff!important;text-align:left!important;cursor:pointer}
html:root body .galaxy-video-settings-row:hover{background:rgb(255 255 255/.08)!important}
html:root body .galaxy-video-settings-row-icon{display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;background:rgb(255 255 255/.07)}
html:root body .galaxy-video-settings-row svg{width:1rem!important;height:1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html:root body .galaxy-video-settings-row strong{min-width:0;color:#f5f8fa;font-size:.66rem;font-weight:850;white-space:nowrap}
html:root body .galaxy-video-settings-row em{color:#b8c7d1;font-size:.59rem;font-style:normal;font-weight:750;white-space:nowrap}
html:root body .galaxy-video-settings-back{display:grid!important;width:100%!important;min-height:2.5rem!important;grid-template-columns:1.25rem minmax(0,1fr)!important;align-items:center!important;gap:.4rem!important;border:0!important;border-bottom:1px solid rgb(255 255 255/.1)!important;border-radius:0!important;padding:.34rem .28rem .55rem!important;background:transparent!important;color:#fff!important;text-align:left!important;cursor:pointer}
html:root body .galaxy-video-settings-back:hover{color:var(--galaxy-accent)!important}
html:root body .galaxy-video-settings-back svg{width:1rem!important;height:1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2.1!important;stroke-linecap:round!important;stroke-linejoin:round!important}
html:root body .galaxy-video-settings-back strong{font-size:.66rem;font-weight:900}
html:root body .galaxy-video-speed-options{display:flex!important;flex-wrap:wrap!important;grid-template-columns:none!important;gap:.36rem!important}
html:root body .galaxy-video-speed-option{min-width:3.2rem!important;flex:1 1 3.2rem!important}

/* ------------[Прогресс, автоскрытие и меню скорости v88]------------ //
   Полоса перемотки остаётся доступной в компактных сообщениях. Панели
   управления плавно уезжают во время просмотра и возвращаются от движения. Модуль: «оформление интерфейса». Часть 6/15 */
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) .vmesta-video-controls{grid-template-columns:1.9rem minmax(3rem,1fr) 1.9rem!important;justify-content:stretch!important}
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) .vmesta-video-play{grid-column:1!important}
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) .vmesta-video-range{display:block!important;grid-column:2!important;width:100%!important;min-width:3rem!important}
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) .vmesta-video-fullscreen{grid-column:3!important}
html:root body :is(.vmesta-video-player.is-compact,.messenger-generic-media .vmesta-video-player):not(:fullscreen) :is(.vmesta-video-current,.vmesta-video-duration,.vmesta-video-volume-group,.vmesta-video-quality-group,.vmesta-video-settings-group){display:none!important}

/* Центральный Play без белой рамки, внешнего кольца и нарисованной обводки. */
html:root body :is(.vmesta-video-center,.galaxy-video-center-play){border:0!important;outline:0!important;box-shadow:0 .78rem 1.8rem rgb(0 0 0/.42)!important}
html:root body :is(.vmesta-video-center,.galaxy-video-center-play)::before{display:none!important;content:none!important}
html:root body :is(.vmesta-video-center,.galaxy-video-center-play):hover{box-shadow:0 .9rem 2rem rgb(0 0 0/.48)!important}

/* Исчезновение не рвётся: панель уезжает вниз, центральная кнопка — следом. */
html:root body .vmesta-video-player .vmesta-video-controls,
html:root body .vmesta-video-player .vmesta-video-center,
html:root body .galaxy-video-player .galaxy-video-controls,
html:root body .galaxy-video-player .galaxy-video-transport{transition:opacity .28s ease,transform .34s cubic-bezier(.2,.76,.24,1),visibility .28s ease!important}
html:root body .vmesta-video-player.is-playing.is-controls-idle .vmesta-video-controls{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(calc(100% + 1.1rem))!important}
html:root body .vmesta-video-player.is-playing.is-controls-idle .vmesta-video-center{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(1.15rem) scale(.86)!important}
html:root body .galaxy-video-player.is-playing.is-controls-idle .galaxy-video-controls{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translateY(calc(100% + 1.1rem))!important}
html:root body .galaxy-video-player.is-playing.is-controls-idle .galaxy-video-transport{visibility:hidden!important;opacity:0!important;pointer-events:none!important;transform:translate(-50%,calc(-50% + 1.15rem)) scale(.9)!important}
html:root body :is(.vmesta-video-player,.galaxy-video-player):is(:focus-within,.is-buffering) :is(.vmesta-video-controls,.vmesta-video-center,.galaxy-video-controls,.galaxy-video-transport){visibility:visible;opacity:1;pointer-events:auto}

/* Аккуратный экран скорости: крупное значение, шаг −/+, ползунок и быстрые пресеты. */
html:root body :is(.vmesta-video-settings-menu,.galaxy-video-settings-menu){width:min(20rem,86vw)!important;padding:.7rem!important;border-color:rgb(255 255 255/.1)!important;border-radius:1rem!important;background:linear-gradient(155deg,rgb(13 24 36/.98),rgb(4 11 22/.98))!important}
html:root body :is(.vmesta-video-speed-panel,.galaxy-video-speed-panel){gap:.65rem!important}
html:root body :is(.vmesta-video-speed-current,.galaxy-video-speed-current){display:block;width:100%;padding:.2rem 0 0;color:#fff;font-size:1.45rem;font-weight:900;line-height:1;text-align:center;font-variant-numeric:tabular-nums}
html:root body :is(.vmesta-video-speed-stepper,.galaxy-video-speed-stepper){display:grid!important;width:100%!important;grid-template-columns:2.25rem minmax(5rem,1fr) 2.25rem!important;align-items:center!important;gap:.55rem!important;padding:.1rem .05rem!important}
html:root body :is(.vmesta-video-speed-stepper,.galaxy-video-speed-stepper)>button{display:grid;width:2.25rem;height:2.25rem;place-items:center;border:0!important;border-radius:50%!important;background:rgb(255 255 255/.08)!important;color:#fff!important;font-size:1.15rem!important;font-weight:500!important;cursor:pointer}
html:root body :is(.vmesta-video-speed-stepper,.galaxy-video-speed-stepper)>button:hover{background:color-mix(in srgb,var(--vmesta-video-accent,var(--galaxy-accent,#269558)) 32%,rgb(255 255 255/.08))!important}
html:root body :is(.vmesta-video-speed-range,.galaxy-video-speed-stepper input){width:100%!important;height:.32rem!important;border:0!important;border-radius:99px!important;appearance:none!important;-webkit-appearance:none!important;background:linear-gradient(90deg,color-mix(in srgb,var(--vmesta-video-accent,var(--galaxy-accent,#269558)) 78%,#fff),rgb(255 255 255/.22))!important;cursor:pointer}
html:root body :is(.vmesta-video-speed-range,.galaxy-video-speed-stepper input)::-webkit-slider-thumb{width:1rem!important;height:1rem!important;border:0!important;border-radius:50%!important;appearance:none!important;-webkit-appearance:none!important;background:#fff!important;box-shadow:0 0 .9rem color-mix(in srgb,var(--vmesta-video-accent,var(--galaxy-accent,#269558)) 74%,transparent)!important}
html:root body :is(.vmesta-video-speed-options,.galaxy-video-speed-options){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.36rem!important}
html:root body :is(.vmesta-video-settings-option,.galaxy-video-speed-option){min-width:0!important;min-height:2.1rem!important;flex:none!important;border:0!important;border-radius:.68rem!important;background:rgb(255 255 255/.065)!important;color:#dce8ef!important;box-shadow:none!important}
html:root body :is(.vmesta-video-settings-option,.galaxy-video-speed-option):is(:hover,.is-active){background:color-mix(in srgb,var(--vmesta-video-accent,var(--galaxy-accent,#269558)) 78%,rgb(10 24 34))!important;color:#fff!important}

@media(max-width:520px){
  html:root body :is(.vmesta-video-settings-menu,.galaxy-video-settings-menu){width:min(18.5rem,90vw)!important}
  html:root body :is(.vmesta-video-speed-options,.galaxy-video-speed-options){grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
/* ------------[Стабильный закреп и слой обсуждения v89]------------ // Закреплённая карточка и её меню никогда не должны пробиваться поверх модального просмотра. Модуль: «пространства и обсуждение». Часть 1/1 */
html:root body #post-viewer {
  z-index:50000!important;
}
html:root body #post-viewer #post-viewer-panel {
  isolation:isolate;
}
/* ------------[Локализация и роли v90]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 7/15 */
html:root body #settings-dropdown{width:min(22rem,calc(100vw - 1rem))!important}
html:root body #settings-dropdown :is(#menu-main-content,#menu-profile-content,#menu-other-content)>button{width:100%!important;min-width:0!important}
html:root body #settings-dropdown .settings-profile-copy{min-width:0!important;flex:1 1 auto!important;overflow:visible!important}
html:root body #settings-dropdown .settings-profile-copy :is(strong,small){display:block!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}
.project-access-panel{width:min(36rem,calc(100vw - 1.5rem))!important;max-height:min(46rem,calc(100vh - 2rem));overflow:hidden}
.project-access-body{overflow:auto;max-height:calc(100vh - 8.5rem)}
.project-access-role>b{display:grid;min-width:2rem;height:2rem;place-items:center;border-radius:.7rem;background:color-mix(in srgb,var(--color-dynamic,#269352) 12%,transparent);color:var(--color-dynamic,#269352);font-size:.7rem}
.project-access-assigned,.project-role-assigned-list{display:grid;gap:.55rem;margin-top:.35rem;padding:.85rem;border:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2));border-radius:1rem;background:var(--adaptive-ui-soft,var(--standard-panel-soft,#f5faf7))}
.project-access-assigned>div,.project-role-assigned-list>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-access-assigned>div{display:grid;justify-content:stretch}
.project-access-assigned>div>span,.project-role-assigned-list>header>span{color:var(--color-dynamic,#269352);font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.project-access-assigned>div>strong{font-size:.82rem}.project-access-assigned>p,.project-role-assigned-list>p,.project-role-search-results>p{margin:0;color:var(--adaptive-text-muted,var(--standard-text-passive,#71847a));font-size:.7rem;line-height:1.45}
.project-role-member,.project-role-search-user{display:grid;grid-template-columns:2.55rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem;border-radius:.85rem;background:var(--adaptive-ui-panel,var(--standard-panel,#fff))}
.project-role-member.is-compact{grid-template-columns:2.2rem minmax(0,1fr);padding:.4rem}.project-role-member>img,.project-role-search-user>img{width:2.55rem;height:2.55rem;border-radius:.78rem;object-fit:cover}.project-role-member.is-compact>img{width:2.2rem;height:2.2rem}
.project-role-member>span,.project-role-search-user>span{display:grid;min-width:0}.project-role-member strong,.project-role-search-user strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.project-role-member small,.project-role-search-user small{color:var(--adaptive-text-muted,var(--standard-text-passive,#71847a));font-size:.6rem}
.project-role-member>button,.project-role-search-user>button{padding:.55rem .7rem;border-radius:.65rem;background:color-mix(in srgb,var(--color-dynamic,#269352) 13%,transparent);color:var(--color-dynamic,#269352);font-size:.62rem;font-weight:900}.project-role-search-user>button{background:var(--color-dynamic,#269352);color:#fff}
.project-role-search-results{display:grid;gap:.45rem;min-height:3.4rem}.project-access-loading{display:grid;min-height:12rem;place-items:center;align-content:center;gap:.8rem}.project-access-loading>.vmesta-loading-orbit{width:2.2rem;height:2.2rem}
.profile-safety-dropdown>.profile-admin-actions{color:#b45f06!important;border-top:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2))}
.profile-admin-sanction-modal{position:fixed;z-index:1305;inset:0;display:grid;place-items:center;padding:1rem;opacity:0;transition:opacity .17s ease}.profile-admin-sanction-modal.is-visible{opacity:1}.profile-admin-sanction-backdrop{position:absolute;inset:0;background:rgb(8 15 30/.68);backdrop-filter:blur(7px)}
.profile-admin-sanction-modal>section{position:relative;width:min(32rem,100%);overflow:hidden;border:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2));border-radius:1.35rem;background:var(--adaptive-ui-modal,var(--standard-panel,#fff));box-shadow:0 1.5rem 5rem rgb(0 0 0/.28);transform:translateY(.75rem);transition:transform .17s ease}.profile-admin-sanction-modal.is-visible>section{transform:none}
.profile-admin-sanction-modal header{display:grid;grid-template-columns:2.65rem minmax(0,1fr) 2rem;gap:.75rem;align-items:center;padding:1rem;border-bottom:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2))}.profile-admin-sanction-modal header>span{display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.85rem;background:#fff3df;color:#b45f06}.profile-admin-sanction-modal header svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8}.profile-admin-sanction-modal header div{display:grid}.profile-admin-sanction-modal header small{color:#b45f06;font-size:.55rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.profile-admin-sanction-modal header h2{margin:0;font-size:1rem}.profile-admin-sanction-modal header p{margin:0;color:var(--adaptive-text-muted,var(--standard-text-passive,#71847a));font-size:.65rem}.profile-admin-sanction-modal header>button{font-size:1.45rem;color:var(--adaptive-text-muted,var(--standard-text-passive,#71847a))}
.profile-admin-sanction-modal>section>label{display:grid;gap:.35rem;padding:1rem 1rem .5rem}.profile-admin-sanction-modal label>span{font-size:.65rem;font-weight:900}.profile-admin-sanction-modal textarea{min-height:5rem;resize:vertical;border:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2));border-radius:.85rem;background:var(--adaptive-ui-soft,var(--standard-panel-soft,#f5faf7));padding:.75rem;color:inherit;font-size:.72rem;outline:0}.profile-admin-sanction-modal textarea:focus{border-color:var(--color-dynamic,#269352);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-dynamic,#269352) 14%,transparent)}
.profile-admin-duration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.5rem 1rem}.profile-admin-duration-grid>button{min-height:2.65rem;border-radius:.8rem;background:color-mix(in srgb,var(--color-dynamic,#269352) 12%,transparent);color:var(--color-dynamic,#269352);font-size:.65rem;font-weight:900}.profile-admin-duration-grid>button:is(:hover,:focus-visible){background:var(--color-dynamic,#269352);color:#fff}.profile-admin-duration-grid>button.is-danger{grid-column:1/-1;background:#fff0f1;color:#d43d4f}.profile-admin-duration-grid>button.is-danger:is(:hover,:focus-visible){background:#d43d4f;color:#fff}.profile-admin-sanction-modal>section>p{margin:.2rem 1rem 1rem;color:var(--adaptive-text-muted,var(--standard-text-passive,#71847a));font-size:.62rem;line-height:1.45}
@media(max-width:560px){.profile-admin-duration-grid{grid-template-columns:1fr}.profile-admin-duration-grid>button.is-danger{grid-column:auto}.project-role-member,.project-role-search-user{grid-template-columns:2.35rem minmax(0,1fr)}.project-role-member>button,.project-role-search-user>button{grid-column:1/-1}.project-access-panel{width:calc(100vw - 1rem)!important}}

/* ------------[Роли, санкции и подтверждение v91]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 8/15 */
.project-access-panel{width:min(42rem,calc(100vw - 1.5rem))!important;border-radius:1.6rem!important}
.project-access-panel>header{grid-template-columns:2.7rem minmax(0,1fr) 2.7rem!important;padding:1rem 1.15rem!important}
.project-access-back,.project-access-close,.galaxy-guard-close,.profile-admin-sanction-modal [data-admin-sanction-close]{display:grid!important;width:2.55rem!important;height:2.55rem!important;place-items:center!important;padding:0!important;border:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2))!important;border-radius:.82rem!important;background:var(--adaptive-ui-soft,var(--standard-panel-soft,#f3f8f5))!important;color:var(--color-dynamic,#269352)!important;line-height:1!important}
:is(.project-access-back,.project-access-close,.galaxy-guard-close,.profile-admin-sanction-modal [data-admin-sanction-close]) svg{width:1.05rem!important;height:1.05rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;stroke-linecap:round!important}
.project-access-body{display:grid;gap:.7rem;padding:.85rem!important;overflow-x:hidden}
.project-access-accordion{overflow:hidden;border:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2));border-radius:1.1rem;background:var(--adaptive-ui-panel,var(--standard-panel,#fff));transition:border-color .2s ease,box-shadow .2s ease}
.project-access-accordion.is-open{border-color:color-mix(in srgb,var(--color-dynamic,#269352) 35%,var(--adaptive-ui-line,#dce8e2));box-shadow:0 1rem 2.5rem -2.1rem color-mix(in srgb,var(--color-dynamic,#269352) 70%,transparent)}
.project-access-accordion-toggle{display:grid;width:100%;grid-template-columns:2.65rem minmax(0,1fr) auto 1rem;align-items:center;gap:.75rem;padding:.85rem 1rem;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.project-access-accordion-toggle>.project-role-icon{display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:.82rem;background:color-mix(in srgb,var(--color-dynamic,#269352) 11%,transparent);color:var(--color-dynamic,#269352)}
.project-access-accordion-toggle>span:nth-child(2){display:grid;min-width:0;gap:.16rem}.project-access-accordion-toggle strong{font-size:.82rem}.project-access-accordion-toggle small{color:var(--adaptive-text-muted,var(--standard-text-passive,#71847a));font-size:.61rem;font-weight:700}.project-access-accordion-toggle>b{display:grid;min-width:1.75rem;height:1.75rem;place-items:center;padding:0 .4rem;border-radius:.62rem;background:color-mix(in srgb,var(--color-dynamic,#269352) 12%,transparent);color:var(--color-dynamic,#269352);font-size:.64rem}.project-access-accordion-toggle>svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .2s ease}.project-access-accordion.is-open .project-access-accordion-toggle>svg{transform:rotate(180deg)}
.project-access-accordion-content{display:grid;gap:.65rem;padding:.8rem;border-top:1px solid var(--adaptive-ui-line,var(--standard-line,#dce8e2));background:color-mix(in srgb,var(--adaptive-ui-soft,var(--standard-panel-soft,#f5faf7)) 84%,transparent)}
.project-access-accordion-content.hidden{display:none!important}.project-access-inline-search,.project-assignment-filter{margin:0!important}.project-access-inline-search input,.project-assignment-filter input{min-height:2.85rem!important;border-radius:.85rem!important}
.project-access-accordion-content .project-role-assigned-list,.project-access-accordion-content .project-access-assigned{margin:0;padding:.65rem;border:0;background:transparent}.project-access-accordion-content .project-role-search-results{min-height:0}.project-access-assigned>.project-role-member.hidden{display:none!important}

.profile-admin-sanction-modal>section{width:min(35rem,100%)!important;border-radius:1.55rem!important}.profile-admin-sanction-modal header{grid-template-columns:2.8rem minmax(0,1fr) 2.55rem!important}.profile-admin-sanction-modal header>span{width:2.8rem!important;height:2.8rem!important;border-radius:.9rem!important;background:#fff0f1!important;color:#df4153!important}.profile-admin-sanction-modal header small{color:#d13d4e!important}.profile-admin-sanction-modal header h2{font-size:1.08rem!important}.profile-admin-sanction-modal .profile-admin-reason{position:relative;display:grid!important;gap:.42rem!important;padding:1rem 1rem .5rem!important}.profile-admin-reason>span:first-child{color:#c93447!important}.profile-admin-reason-field{position:relative;display:block}.profile-admin-sanction-modal .profile-admin-reason-field textarea{width:100%;min-height:6rem!important;padding:.82rem 5.4rem 2.25rem .85rem!important;resize:none!important;border-color:color-mix(in srgb,#e44859 46%,var(--adaptive-ui-line,#dce8e2))!important;background:color-mix(in srgb,#fff0f2 60%,var(--adaptive-ui-soft,#f5faf7))!important}.profile-admin-sanction-modal .profile-admin-reason-field textarea:focus{border-color:#df4153!important;box-shadow:0 0 0 3px rgb(223 65 83/.13)!important}.profile-admin-reason-field.is-expanded textarea{min-height:13rem!important}.profile-admin-reason-expand,.profile-admin-reason-emoji{position:absolute;right:.5rem;bottom:.48rem;display:grid;width:1.85rem;height:1.85rem;place-items:center;padding:0;border:1px solid color-mix(in srgb,#df4153 25%,transparent);border-radius:.58rem;background:rgb(255 255 255/.72);color:#c93447}.profile-admin-reason-expand{right:2.62rem}.profile-admin-reason-field button svg{width:.92rem;height:.92rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.profile-admin-sanction-modal .emoji-picker{z-index:8}

html:root body .global-sanction-screen{position:fixed!important;z-index:2147483000!important;inset:0!important;display:grid!important;place-items:center!important;width:100vw!important;height:100dvh!important;overflow:hidden!important;padding:clamp(.75rem,3vw,2rem)!important;background:#050c17!important;color:#eef7ff!important;isolation:isolate}.global-sanction-screen>.profile-sanction-cosmos{z-index:0}.global-sanction-screen .global-sanction-card{position:relative;z-index:2;width:min(66rem,100%)!important;max-height:calc(100dvh - 2rem)!important;overflow:auto!important;border:1px solid rgb(126 214 170/.18)!important;border-radius:2rem!important;background:linear-gradient(145deg,rgb(12 30 49/.86),rgb(5 14 27/.9))!important;box-shadow:0 2rem 7rem rgb(0 0 0/.52)!important;backdrop-filter:blur(15px)}.global-sanction-screen .global-sanction-card h1{font-size:clamp(2rem,4.2vw,4.5rem)!important}.global-sanction-screen .global-sanction-card p{font-size:clamp(.82rem,1.2vw,1rem)!important}.global-sanction-screen .global-sanction-card dl>div{background:rgb(255 255 255/.055)!important}.global-sanction-screen [data-sanction-countdown],.profile-sanction-countdown strong{font-variant-numeric:tabular-nums;letter-spacing:.05em}
.profile-sanction-countdown{display:grid;gap:.28rem;max-width:23rem;margin:1rem 0 1.45rem;padding:.82rem 1rem;border:1px solid rgb(111 217 160/.18);border-radius:1rem;background:rgb(55 190 117/.09)}.profile-sanction-countdown span{color:#94aec4;font-size:.66rem}.profile-sanction-countdown strong{color:#86e2b0;font-size:clamp(1.15rem,2.4vw,1.65rem)}
body:has(.global-sanction-screen),body.profile-sanction-overlay-active{overflow:hidden!important;overscroll-behavior:none!important}.global-sanction-screen *,.profile-sanction-overlay *{box-sizing:border-box}

.galaxy-guard-confirm [data-guard-confirm="accept"]{color:#fff!important}.galaxy-guard-confirm [data-guard-confirm="accept"].is-danger{border-color:#df4153!important;background:#df4153!important;color:#fff!important;box-shadow:0 .65rem 1.4rem rgb(223 65 83/.23)!important}.galaxy-guard-confirm [data-guard-confirm="accept"].is-success{border-color:#27965a!important;background:#27965a!important;color:#fff!important;box-shadow:0 .65rem 1.4rem rgb(39 150 90/.22)!important}

html:root body :is(.verification-mark.is-verified,.cover-account-verification[data-status="verified"] .cover-account-verification-mark,.verification-own-mark,.profile-avatar-verification-badge){position:relative;animation:vmesta-verified-float 3.8s ease-in-out infinite;transform-origin:center;will-change:transform,filter}
html:root body :is(.verification-mark.is-verified,.cover-account-verification[data-status="verified"] .cover-account-verification-mark,.verification-own-mark)::after{content:"";position:absolute;inset:-.28rem;border:1px solid rgb(37 131 255/.22);border-radius:inherit;opacity:0;animation:vmesta-verified-wave 3.8s ease-out infinite;pointer-events:none}
@keyframes vmesta-verified-float{0%,100%{transform:translateY(0) rotate(-1deg);filter:drop-shadow(0 .35rem .5rem rgb(37 131 255/.14))}50%{transform:translateY(-.24rem) rotate(1.5deg);filter:drop-shadow(0 .65rem .8rem rgb(37 131 255/.28))}}@keyframes vmesta-verified-wave{0%,45%{opacity:0;transform:scale(.82)}58%{opacity:.55}82%,100%{opacity:0;transform:scale(1.2)}}
@media(max-width:640px){.project-access-panel{width:calc(100vw - 1rem)!important}.project-access-accordion-toggle{grid-template-columns:2.35rem minmax(0,1fr) auto 1rem;padding:.72rem}.project-access-accordion-toggle>.project-role-icon{width:2.35rem;height:2.35rem}.global-sanction-screen .global-sanction-card{grid-template-columns:1fr!important;gap:.45rem!important;padding:1rem!important;text-align:center}.global-sanction-screen .sanction-space-scene{width:min(13rem,54vw)!important}.global-sanction-screen .global-sanction-card dl>div{text-align:left}.global-sanction-screen .global-sanction-card footer{display:grid}.profile-sanction-countdown{margin-inline:auto}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){html:root body :is(.verification-mark.is-verified,.cover-account-verification[data-status="verified"] .cover-account-verification-mark,.verification-own-mark,.profile-avatar-verification-badge),html:root body :is(.verification-mark.is-verified,.cover-account-verification[data-status="verified"] .cover-account-verification-mark,.verification-own-mark)::after{animation:none!important}}
html:root body .global-sanction-screen .global-sanction-card{overflow-x:hidden!important;overflow-y:auto!important}html:root body .global-sanction-screen .global-sanction-card>*{min-width:0}html:root body .global-sanction-screen .global-sanction-card h1{overflow-wrap:anywhere}

/* ------------[Значки, роли и космонавт v92]------------ // Два служебных знака стоят рядом под аватаром, панели ролей не превращаются в сплошной зелёный блок, а санкции используют единый SVG. Модуль: «оформление интерфейса». Часть 9/15 */
html:root #profile-avatar-card:has(+.profile-avatar-badges){margin-bottom:.35rem!important}
html:root .profile-avatar-badges{display:flex;min-height:2rem;align-items:center;justify-content:flex-start;gap:.45rem;margin:0 0 .85rem;padding:0 .55rem;position:relative;z-index:36}
html:root .profile-avatar-badges:not(:has(>:not(.hidden))){display:none!important}
html:root .profile-avatar-badges>.profile-avatar-role-badge,
html:root .profile-avatar-badges>.profile-avatar-verification-badge{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;display:grid!important;width:2rem!important;height:2rem!important;flex:0 0 2rem!important;place-items:center!important;border:1px solid color-mix(in srgb,currentColor 30%,transparent)!important;border-radius:.7rem!important;background:color-mix(in srgb,var(--adaptive-ui-panel,var(--standard-panel,#fff)) 88%,currentColor 12%)!important;box-shadow:0 .35rem .85rem color-mix(in srgb,currentColor 16%,transparent)!important;transform:none!important}
html:root .profile-avatar-badges>.hidden{display:none!important}
html:root .profile-avatar-badges>.profile-avatar-role-badge>svg:first-child{width:1.18rem!important;height:1.18rem!important}
html:root .profile-avatar-badges>.profile-avatar-role-badge>.access-role-scope-icon{right:-.22rem!important;bottom:-.18rem!important}
html:root .profile-avatar-badges>.profile-avatar-verification-badge{color:#3286f6!important;animation:vmesta-avatar-badge-glow 3.4s ease-in-out infinite!important}
html:root .profile-avatar-badges>.profile-avatar-verification-badge::before{width:1.28rem!important;height:1.28rem!important;background:currentColor!important}
html:root body.space-route .profile-avatar-badges{padding-left:.2rem}
@keyframes vmesta-avatar-badge-glow{0%,100%{filter:drop-shadow(0 .2rem .3rem rgb(50 134 246/.12))}50%{filter:drop-shadow(0 .35rem .6rem rgb(50 134 246/.34))}}

html:root body .project-access-accordion{border-color:color-mix(in srgb,#93a9bd 34%,transparent)!important;background:color-mix(in srgb,var(--adaptive-ui-panel,var(--standard-panel,#fff)) 96%,#e9f0f7 4%)!important;box-shadow:none!important}
html:root body .project-access-accordion.is-open{border-color:color-mix(in srgb,#4d7195 42%,transparent)!important;box-shadow:0 .8rem 2rem rgb(25 55 86/.07)!important}
html:root body .project-access-accordion-content{border-top-color:color-mix(in srgb,#8ea7bd 28%,transparent)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--adaptive-ui-panel,var(--standard-panel,#fff)) 94%,#eaf1f7 6%),color-mix(in srgb,var(--adaptive-ui-panel,var(--standard-panel,#fff)) 98%,#f7fafc 2%))!important}
html:root body .project-access-accordion-content :is(.project-role-assigned-list,.project-access-assigned){background:transparent!important}
html:root body .project-access-accordion-content :is(input,.project-assignment-filter){background:color-mix(in srgb,var(--adaptive-ui-panel,var(--standard-panel,#fff)) 90%,#e8eff6 10%)!important}
html:root body .project-access-accordion[data-project-access-section="admin"] .project-role-icon{background:#fff4dc!important;color:#b87305!important}
html:root body .project-access-accordion[data-project-access-section="moderator"] .project-role-icon{background:#e9f6ff!important;color:#1684c5!important}
html:root body .project-access-accordion[data-project-access-section="assigned"] .project-role-icon{background:#f2edff!important;color:#7454c8!important}
html:root body .project-access-accordion[data-project-access-section="admin"] .project-access-accordion-toggle>b{background:#fff4dc!important;color:#9c6509!important}
html:root body .project-access-accordion[data-project-access-section="moderator"] .project-access-accordion-toggle>b{background:#e9f6ff!important;color:#126f9f!important}
html:root body .project-access-accordion[data-project-access-section="assigned"] .project-access-accordion-toggle>b{background:#f2edff!important;color:#6546b5!important}

html:root body .galaxy-guard-confirm [data-guard-confirm="accept"].is-danger,
html:root body .galaxy-guard-confirm [data-guard-confirm="accept"].is-danger:disabled{border-color:#d83d50!important;background:linear-gradient(135deg,#df4859,#c92f44)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 .65rem 1.4rem rgb(216 61 80/.24)!important}
html:root body .galaxy-guard-confirm [data-guard-confirm="accept"].is-danger:hover{background:linear-gradient(135deg,#e65363,#bd263b)!important}

html:root body .sanction-space-scene .sanction-astronaut-halo{position:absolute;inset:24%;display:block;border-radius:50%;background:radial-gradient(circle,rgb(71 213 151/.24),rgb(76 159 218/.09) 48%,transparent 72%);filter:blur(.15rem);animation:sanction-astronaut-halo-pulse 3.8s ease-in-out infinite}
html:root body .sanction-space-scene img.sanction-astronaut{position:absolute!important;inset:10%!important;width:80%!important;height:80%!important;object-fit:contain!important;overflow:visible!important;filter:invert(72%) sepia(29%) saturate(1024%) hue-rotate(99deg) brightness(91%) contrast(91%) drop-shadow(0 1.1rem 1.4rem rgb(0 0 0/.34))!important;animation:sanction-new-astronaut-float 5.6s ease-in-out infinite!important}
@keyframes sanction-new-astronaut-float{0%,100%{transform:translate3d(-.15rem,.15rem,0) rotate(-3deg)}50%{transform:translate3d(.35rem,-.65rem,0) rotate(3deg)}}
@keyframes sanction-astronaut-halo-pulse{0%,100%{opacity:.48;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:640px){html:root .profile-avatar-badges{justify-content:center;padding-inline:0}}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){html:root .profile-avatar-badges>.profile-avatar-verification-badge,html:root body .sanction-space-scene :is(.sanction-astronaut-halo,img.sanction-astronaut){animation:none!important}}

/* ------------[Компактная строка знаков v93]------------ // Медали не отнимают высоту у навигации и сохраняются в сообщениях. Модуль: «оформление интерфейса». Часть 10/15 */
html:root #profile-avatar-card:has(+.profile-avatar-badges){margin-bottom:.18rem!important}
html:root .profile-avatar-badges{min-height:1.85rem!important;gap:.38rem!important;margin:0 0 .12rem!important;padding-inline:.45rem!important}
html:root .profile-avatar-badges+.profile-sidebar-summary{margin-top:.18rem!important}
@media(max-width:640px){
  html:root .profile-avatar-badges{justify-content:flex-start!important;padding-left:.55rem!important}
  html:root .profile-avatar-badges+.profile-sidebar-summary{margin-top:.12rem!important}
}

/* ------------[Знаки в строке местоположения и живая медаль v94]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 11/15 */
html:root #profile-avatar-card{margin-bottom:.35rem!important}
html:root #profile-avatar-card+.profile-sidebar-summary{margin-top:.2rem!important}
html:root .profile-cover-meta-actions{overflow:visible;gap:.45rem!important}
html:root .profile-cover-badges{display:flex!important;min-width:0!important;min-height:0!important;align-items:center!important;justify-content:flex-start!important;gap:.32rem!important;margin:0!important;padding:0!important;overflow:visible!important}
html:root .profile-cover-badges:not(:has(>:not(.hidden))){display:none!important}
html:root .profile-cover-badges>.profile-avatar-role-badge,
html:root .profile-cover-badges>.profile-avatar-verification-badge{position:relative!important;inset:auto!important;display:grid!important;width:1.58rem!important;height:1.58rem!important;flex:0 0 1.58rem!important;place-items:center!important;border:1px solid rgb(255 255 255/.22)!important;border-radius:.5rem!important;background:rgb(5 16 30/.58)!important;box-shadow:0 .22rem .55rem rgb(0 0 0/.22)!important;backdrop-filter:blur(7px);transform:none!important}
html:root .profile-cover-badges>.hidden{display:none!important}
html:root .profile-cover-badges>.profile-avatar-role-badge>svg:first-child{width:.92rem!important;height:.92rem!important}
html:root .profile-cover-badges>.profile-avatar-verification-badge::before{width:1.02rem!important;height:1.02rem!important}
html:root .profile-cover-badges>.profile-avatar-role-badge>.access-role-scope-icon{right:-.2rem!important;bottom:-.16rem!important;width:.62rem!important;height:.62rem!important;background:#071423!important;border-radius:50%!important}
html:root .profile-cover-badges>.profile-avatar-role-badge>.access-role-scope-icon>svg{width:.48rem!important;height:.48rem!important}

html:root body :is(
  #space-about-panel .space-verification-card .verification-mark,
  #about-modal .profile-verification-card .verification-mark,
  #cover-data-pane .cover-account-verification-mark
){position:relative!important;overflow:visible!important;isolation:isolate;animation:vmesta-medal-body-float 3.7s ease-in-out infinite!important;transform-origin:50% 58%!important}
html:root body :is(
  #space-about-panel .space-verification-card .verification-mark,
  #about-modal .profile-verification-card .verification-mark,
  #cover-data-pane .cover-account-verification-mark
)::before{content:""!important;position:absolute!important;z-index:2!important;left:14%!important;top:14%!important;display:block!important;width:72%!important;height:72%!important;background:#2583ff!important;-webkit-mask:url('/assets/verified-medal-core.svg?v=20260925.2') center/contain no-repeat!important;mask:url('/assets/verified-medal-core.svg?v=20260925.2') center/contain no-repeat!important;filter:drop-shadow(0 .18rem .35rem rgb(37 131 255/.34));animation:vmesta-medal-core-pulse 3.1s ease-in-out infinite!important}
html:root body :is(
  #space-about-panel .space-verification-card .verification-mark,
  #about-modal .profile-verification-card .verification-mark,
  #cover-data-pane .cover-account-verification-mark
)::after{content:""!important;position:absolute!important;z-index:1!important;left:14%!important;top:14%!important;display:block!important;width:72%!important;height:72%!important;border:0!important;border-radius:0!important;background:#2583ff!important;opacity:1!important;-webkit-mask:url('/assets/verified-medal-ribbons.svg?v=20260925.2') center/contain no-repeat!important;mask:url('/assets/verified-medal-ribbons.svg?v=20260925.2') center/contain no-repeat!important;transform-origin:50% 64%!important;animation:vmesta-medal-ribbons-sway 2.6s ease-in-out infinite!important;pointer-events:none!important}
@keyframes vmesta-medal-body-float{0%,100%{transform:translateY(0) rotate(-1deg);filter:drop-shadow(0 .28rem .42rem rgb(37 131 255/.14))}50%{transform:translateY(-.24rem) rotate(1deg);filter:drop-shadow(0 .52rem .7rem rgb(37 131 255/.28))}}
@keyframes vmesta-medal-core-pulse{0%,100%{transform:scale(.98) rotate(0)}50%{transform:scale(1.045) rotate(1.2deg)}}
@keyframes vmesta-medal-ribbons-sway{0%,100%{transform:perspective(8rem) rotateX(0) skewX(-1deg)}35%{transform:perspective(8rem) rotateX(7deg) skewX(2.5deg)}70%{transform:perspective(8rem) rotateX(-5deg) skewX(-2deg)}}
@media(max-width:640px){html:root .profile-cover-meta-actions{gap:.3rem!important}html:root .profile-cover-badges>.profile-avatar-role-badge,html:root .profile-cover-badges>.profile-avatar-verification-badge{width:1.45rem!important;height:1.45rem!important;flex-basis:1.45rem!important}}

/* ------------[Мобильная оболочка V2.0.96]------------ // Оформляет связанный блок интерфейса.
   Левая колонка становится выдвижной шторкой, а основные разделы получают
   компактную нижнюю панель с подписью только у активной кнопки. Модуль: «оформление интерфейса». Часть 12/15 */
.mobile-drawer-backdrop,.mobile-drawer-peek,.mobile-bottom-navigation,.mobile-cover-avatar{display:none}

@media(max-width:767px){
  html:root{--vmesta-mobile-nav-height:4.2rem}
  html:root body{padding-bottom:calc(var(--vmesta-mobile-nav-height) + env(safe-area-inset-bottom,0px))!important;overflow-x:hidden}
  html:root body.mobile-drawer-open{overflow:hidden!important;touch-action:none}

  html:root body #profile-layout-grid{display:block!important;width:100%!important;max-width:100%!important;min-height:0!important;margin-top:.7rem!important;padding:0 .62rem calc(var(--vmesta-mobile-nav-height) + .75rem)!important}
  html:root body #content-main{display:block!important;width:100%!important;min-width:0!important;margin:0!important}
  html:root body #profile-right-rail{display:none!important}

  html:root body #profile-left-rail,
  html:root body.messages-route #profile-left-rail{
    position:fixed!important;
    z-index:1002!important;
    top:calc(3.7rem + env(safe-area-inset-top,0px))!important;
    right:auto!important;
    bottom:calc(var(--vmesta-mobile-nav-height) + env(safe-area-inset-bottom,0px) + .35rem)!important;
    left:.45rem!important;
    display:block!important;
    width:min(21rem,calc(100vw - 2.7rem))!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:.45rem!important;
    overflow-x:visible!important;
    overflow-y:auto!important;
    border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 22%,var(--vmesta-ui-line,#dbe7df))!important;
    border-radius:1.3rem!important;
    background:color-mix(in srgb,var(--vmesta-ui-panel,var(--adaptive-surface,#fff)) 94%,transparent)!important;
    box-shadow:0 1.6rem 4.8rem rgb(15 23 42/.3)!important;
    opacity:0;
    transform:translate3d(calc(-100% - 1.15rem),0,0)!important;
    transition:transform .32s cubic-bezier(.2,.82,.22,1),opacity .2s ease!important;
    pointer-events:none;
    overscroll-behavior:contain;
    scrollbar-width:none;
    backdrop-filter:blur(22px);
  }
  html:root body #profile-left-rail::-webkit-scrollbar{display:none}
  html:root body.mobile-drawer-open #profile-left-rail{opacity:1;transform:translate3d(0,0,0)!important;pointer-events:auto}
  html:root body #profile-sidebar-shell{display:flex!important;min-height:100%;flex-direction:column;gap:.2rem;padding:.45rem;isolation:isolate}
  html:root body #profile-avatar-card{width:6.35rem!important;max-width:6.35rem!important;margin:.1rem 0 .25rem!important}
  html:root body.space-route #profile-avatar-card{width:6.35rem!important}
  html:root body #profile-sidebar-shell>.profile-sidebar-summary{margin:.1rem 0 0!important;gap:.2rem!important}
  html:root body #profile-sidebar-shell>#friends-list-container{margin:.05rem 0 .2rem!important;padding:0!important}
  html:root body .profile-sidebar-navigation-frame{margin-top:.15rem!important}
  html:root body .profile-sidebar-navigation-frame>.profile-sidebar-navigation-head{display:none!important}
  html:root body .profile-sidebar-navigation{margin:.15rem 0 0!important;padding:.35rem!important;gap:.08rem!important;border-radius:1rem!important}
  html:root body .profile-sidebar-navigation>.nav-item{display:flex!important;min-height:2.55rem!important;align-items:center!important;gap:.58rem!important;padding:.48rem .65rem!important}
  html:root body .profile-sidebar-navigation>.nav-item>svg{display:block!important;width:1.15rem!important;height:1.15rem!important;min-width:1.15rem!important;flex:0 0 1.15rem!important}
  html:root body .profile-sidebar-navigation>.nav-item>.nav-text{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

  .mobile-drawer-backdrop{position:fixed;z-index:1001;inset:0;display:block;border:0;padding:0;background:rgb(7 16 30/.48);opacity:0;pointer-events:none;transition:opacity .24s ease;backdrop-filter:blur(3px)}
  body.mobile-drawer-open .mobile-drawer-backdrop{opacity:1;pointer-events:auto}
  .mobile-drawer-peek{position:fixed;z-index:990;top:calc(4.4rem + env(safe-area-inset-top,0px));left:0;display:grid;width:1.4rem;height:3.15rem;place-items:center;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 30%,transparent);border-left:0;border-radius:0 .8rem .8rem 0;background:color-mix(in srgb,var(--vmesta-ui-panel,#fff) 88%,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 12%);color:var(--vmesta-ui-primary,var(--color-dynamic,#249653));box-shadow:.35rem .35rem 1rem rgb(15 23 42/.12);transition:opacity .16s ease,transform .2s ease}
  .mobile-drawer-peek svg{width:.82rem;height:.82rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  body.mobile-drawer-open .mobile-drawer-peek{opacity:0;transform:translateX(-100%);pointer-events:none}

  .mobile-bottom-navigation{position:fixed;z-index:1000;right:.45rem;bottom:calc(.38rem + env(safe-area-inset-bottom,0px));left:.45rem;display:flex;height:3.45rem;align-items:center;gap:.22rem;padding:.35rem;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 18%,var(--vmesta-ui-line,#dbe7df));border-radius:1.1rem;background:color-mix(in srgb,var(--vmesta-ui-panel,var(--adaptive-surface,#fff)) 92%,transparent);box-shadow:0 .85rem 2.5rem rgb(15 23 42/.2);backdrop-filter:blur(22px)}
  .mobile-bottom-navigation>button{position:relative;display:flex;width:2.65rem;min-width:2.65rem;height:2.72rem;flex:0 1 2.65rem;align-items:center;justify-content:center;gap:0;border:0;border-radius:.82rem;padding:0;background:transparent;color:var(--vmesta-ui-muted,var(--adaptive-text-secondary,#718096));transition:flex .28s cubic-bezier(.2,.82,.22,1),width .28s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}
  .mobile-bottom-navigation>button.is-active{width:auto;min-width:4.85rem;flex:1 1 6.7rem;justify-content:center;gap:.42rem;padding:0 .72rem;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 14%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-primary,var(--color-dynamic,#249653));box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent)}
  .mobile-bottom-icon{position:relative;display:grid;width:1.22rem;height:1.22rem;flex:0 0 1.22rem;place-items:center}
  .mobile-bottom-icon>svg{display:block;width:1.18rem!important;height:1.18rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2.15!important;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-navigation>button:first-child .mobile-bottom-icon>svg{fill:none!important}
  .mobile-bottom-label{max-width:0;overflow:hidden;font-size:.66rem;font-weight:900;letter-spacing:.015em;opacity:0;transform:translateX(-.2rem);white-space:nowrap;transition:max-width .28s ease,opacity .18s ease,transform .28s ease}
  .mobile-bottom-navigation>button.is-active .mobile-bottom-label{max-width:7rem;opacity:1;transform:none}
  .mobile-bottom-indicator{position:absolute;top:-.18rem;right:-.22rem;display:block;width:.46rem;height:.46rem;border:2px solid var(--vmesta-ui-panel,#fff);border-radius:50%;background:#ef4444;box-sizing:content-box}
  .mobile-bottom-indicator[hidden]{display:none!important}

  .mobile-cover-avatar{position:absolute;z-index:22;bottom:.85rem;left:.85rem;display:grid;width:4.15rem;height:4.15rem;place-items:center;overflow:hidden;border:3px solid rgb(255 255 255/.92);border-radius:1.05rem;padding:0;background:var(--vmesta-ui-panel,#fff);box-shadow:0 .7rem 1.8rem rgb(4 12 24/.35)}
  .mobile-cover-avatar img{display:block;width:100%;height:100%;object-fit:cover}
  html:root body #cover-section{height:15.5rem!important;min-height:15.5rem!important}
  html:root body #cover-section #user-info-group{right:.7rem!important;bottom:.72rem!important;left:5.55rem!important;width:auto!important;max-width:none!important;padding-right:0!important;gap:.3rem!important}
  html:root body #user-name-title{display:-webkit-box!important;overflow:hidden!important;font-size:clamp(1.22rem,6vw,1.72rem)!important;line-height:1.02!important;text-overflow:ellipsis!important;white-space:normal!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  html:root body #cover-section .profile-cover-presence-row{display:flex!important;min-width:0;align-items:center;gap:.35rem!important}
  html:root body #cover-section #user-online-status{flex:0 0 auto}
  html:root body #cover-section #user-online-status>div{gap:.38rem!important;padding:.34rem .52rem!important}
  html:root body #cover-section #user-online-status span:last-child{font-size:.52rem!important;letter-spacing:.08em!important}
  html:root body #cover-section .profile-cover-status-card{min-width:0!important;min-height:2rem!important;flex:1 1 auto;padding:.34rem .5rem!important}
  html:root body #cover-section .status-scroll-text{font-size:.57rem!important}
  html:root body #cover-section .profile-cover-meta-actions{min-height:1.55rem;gap:.28rem!important}
  html:root body #cover-section .profile-cover-meta-link{max-width:min(12rem,60vw);font-size:.55rem!important}
  html:root body #profile-tabs-container{overflow-x:auto!important;overflow-y:hidden!important;padding-inline:.45rem!important;scrollbar-width:none;overscroll-behavior-inline:contain}
  html:root body #profile-tabs-container::-webkit-scrollbar{display:none}
  html:root body #profile-tabs-container>div{width:max-content;min-width:100%;gap:.18rem!important}
  html:root body #profile-tabs-container button{min-width:max-content;padding-inline:.65rem!important}

  html:root body .profile-publisher-hub .space-switchboard{padding:.35rem!important;border-radius:1rem!important}
  html:root body .profile-publisher-hub .space-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.28rem!important}
  html:root body .profile-publisher-hub .space-tabs>button{min-width:0!important;min-height:2.45rem!important;gap:.25rem!important;padding:.38rem .42rem!important;border-radius:.72rem!important}
  html:root body .profile-publisher-hub .space-tabs .space-tab-label{min-width:0;overflow:hidden;font-size:.55rem!important;letter-spacing:.02em!important;text-overflow:ellipsis;white-space:nowrap}
  html:root body .profile-publisher-hub .space-tabs .space-tab-label b{min-width:1.05rem;height:1.05rem;padding:0 .22rem;font-size:.47rem}
  html:root body .profile-publisher-hub .space-tab-icon{width:.82rem!important;height:.82rem!important;flex:0 0 .82rem}
  html:root body .profile-publisher-hub .space-news-strip{display:flex!important;min-height:2.8rem;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;gap:.35rem!important;padding:.42rem .48rem!important}
  html:root body .profile-publisher-hub .space-news-strip>span{min-width:0;overflow:hidden;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}
  html:root body .profile-publisher-hub .publisher-strip-actions{width:auto!important;flex:0 0 auto;justify-content:flex-end!important;gap:.28rem!important;margin-left:auto!important}
  html:root body .profile-publisher-hub .publisher-strip-actions>strong{display:none!important}
  html:root body :is(.publisher-search-button,.publisher-create-button){min-width:2.2rem!important;min-height:2.2rem!important;border-radius:.68rem!important;padding:.4rem .55rem!important}
  html:root body .publisher-search-button>span{display:none!important}
  html:root body :is(.publisher-search-button,.publisher-create-button)>svg{width:.92rem!important;height:.92rem!important;flex:0 0 .92rem}
  html:root body .profile-publisher-hub #profile-publisher-tab-body{margin-top:.65rem!important}
  html:root body #profile-layout-grid #content-main .post-item{border-radius:1rem!important}
  html:root body #profile-layout-grid #content-main .post-item>.post-content{padding-inline:.8rem!important}

  html:root body #friends-viewport .friends-index-toolbar{gap:.55rem!important;padding:.58rem!important}
  html:root body #friends-viewport .friends-index-toolbar-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.42rem!important}
  html:root body #friends-viewport #friends-sub-tabs{display:grid!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.18rem!important;padding:.22rem!important}
  html:root body #friends-viewport #friends-sub-tabs>.sub-tab-btn{min-width:0!important;min-height:2.15rem!important;padding:.4rem .34rem!important;font-size:.5rem!important;line-height:1.15!important;letter-spacing:.025em!important;white-space:normal!important}
  html:root body #friends-viewport .friends-find-button{display:inline-flex!important;min-width:2.35rem!important;min-height:2.35rem!important;align-items:center!important;justify-content:center!important;gap:.35rem!important;padding:.45rem .62rem!important;white-space:nowrap!important}
  html:root body #friends-viewport .friends-find-button svg{display:block;width:.95rem;height:.95rem;flex:0 0 .95rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  html:root body #friends-viewport .friends-own-search-shell{margin:0!important}
  html:root body #friends-viewport #friends-list-full{padding:.55rem!important}
  html:root body #friends-viewport .friends-list-row{min-height:4.2rem!important;gap:.38rem!important;padding:.52rem!important}
  html:root body #friends-viewport .friend-row-identity{gap:.52rem!important}
  html:root body #friends-viewport .friend-row-avatar{width:2.45rem!important;height:2.45rem!important}
  html:root body #friends-viewport .friend-row-actions{gap:.22rem!important}
  html:root body #friends-viewport .friend-row-action{width:2.05rem!important;min-width:2.05rem!important;min-height:2.05rem!important;padding:0!important}

  html:root body.messages-route .messenger-shell{height:calc(100dvh - 4.25rem - var(--vmesta-mobile-nav-height) - env(safe-area-inset-bottom,0px))!important;min-height:0!important;border-radius:1rem!important}
}

/* V2.0.101: мобильная панель профиля, сообщения и списки друзей. */
html:root body :is(.post-item,.space-post,.profile-post-card,.post-viewer-card,.publication-card,.post-detail-card,[data-post-card],#post-viewer-panel),
html:root body :is(.post-item,.space-post,.profile-post-card,.post-viewer-card,.publication-card,.post-detail-card,[data-post-card],#post-viewer-panel)::before,
html:root body :is(.post-item,.space-post,.profile-post-card,.post-viewer-card,.publication-card,.post-detail-card,[data-post-card],#post-viewer-panel)::after{
  border:0!important;outline:0!important;box-shadow:none!important
}
html:root body .friend-main-profile{border:0!important;outline:0!important;background:transparent!important;color:inherit!important}
html:root body #friends-viewport .friends-find-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.38rem!important}
html:root body #friends-viewport .friends-find-button svg{display:block!important;width:1rem!important;height:1rem!important;flex:0 0 1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}

@media(max-width:767px){
  html:root body #profile-left-rail{
    top:0!important;bottom:0!important;height:100dvh!important;
    padding:env(safe-area-inset-top,0px) .62rem env(safe-area-inset-bottom,0px)!important;
    border-radius:0!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important
  }
  html:root body #profile-left-rail .mobile-drawer-header{
    top:0!important;min-height:4.2rem!important;margin:0 -.62rem .4rem!important;
    padding:.42rem .72rem .5rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;
    box-shadow:0 .45rem 1.1rem rgb(2 8 23/.08)!important
  }
  html:root body #profile-left-rail .mobile-drawer-header strong{font-size:.92rem!important}
  html:root body #profile-left-rail .mobile-drawer-header button{width:2.65rem!important;height:2.65rem!important;border-radius:.82rem!important}
  html:root body #profile-left-rail #profile-sidebar-shell{padding-bottom:1rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation{gap:.32rem!important;padding:.48rem!important;overflow:visible!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item,
  html:root body #profile-left-rail .profile-sidebar-more-toggle{
    min-height:3.65rem!important;gap:.82rem!important;padding:.72rem .82rem!important;
    border:0!important;border-radius:.88rem!important;font-size:.86rem!important;font-weight:900!important
  }
  html:root body #profile-left-rail .profile-account-switch-trigger{
    right:.5rem!important;width:2.55rem!important;height:2.55rem!important;border-radius:.78rem!important
  }
  html:root body #profile-left-rail .top-account-switch-menu.is-drawer-origin{
    position:absolute!important;z-index:80!important;top:calc(100% + .4rem)!important;right:0!important;bottom:auto!important;left:0!important;
    width:100%!important;max-height:min(48dvh,24rem)!important;margin:0!important;overflow-y:auto!important;transform-origin:top center!important
  }
  html:root body #profile-left-rail .profile-sidebar-more-menu{
    display:grid!important;gap:.22rem!important;margin-top:.22rem!important;padding:.3rem!important;border:0!important;
    background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 6%,var(--vmesta-ui-panel,#fff))!important;
    color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important
  }
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{
    min-height:3.5rem!important;grid-template-columns:1.5rem minmax(0,1fr) auto!important;gap:.72rem!important;
    padding:.68rem .72rem!important;border:0!important;border-radius:.78rem!important;
    background:transparent!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important;font-size:.82rem!important;font-weight:900!important;opacity:1!important
  }
  html:root body #profile-left-rail .profile-sidebar-more-menu>button:hover{background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 13%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu small{color:var(--vmesta-ui-muted,#8290a8)!important;font-size:.52rem!important;opacity:1!important}
  html:root body #friends-list-container>button{width:2.5rem!important;height:2.5rem!important;justify-self:start!important;align-self:start!important}
  html:root body #friends-list-container>button>img{width:2.5rem!important;height:2.5rem!important}
  html:root body .mobile-bottom-navigation{right:.35rem!important;left:.35rem!important;width:auto!important;min-width:0!important}

  html:root body .messenger-attach-wrap:not(.is-open)>.messenger-attach-menu{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(.4rem)!important}
  html:root body .messenger-attach-trigger[aria-expanded="true"]{background:var(--msg-accent-soft)!important;color:var(--msg-accent)!important;transform:rotate(45deg)!important}
  html:root body .messenger-recording-panel.is-active:not(.is-draft){min-height:3.15rem!important;max-height:3.65rem!important;overflow:visible!important}
  html:root body .messenger-recording-cancel{min-width:4.25rem!important;height:2.5rem!important;padding:0 .58rem!important;background:color-mix(in srgb,#ef4444 12%,var(--msg-panel,#fff))!important;color:#ef4444!important}
  html:root body .messenger-recording-cancel>span{font-size:.58rem!important;line-height:1!important;transform:none!important}
  html:root body .messenger-recording-panel.is-video .messenger-recording-video{width:min(11.5rem,46vw)!important;height:min(11.5rem,46vw)!important;bottom:5.15rem!important}
  html:root body .messenger-recording-panel.is-video .messenger-recording-status{width:min(11.5rem,46vw)!important;bottom:2.7rem!important}
  html:root body .messenger-message :is(.messenger-sender-name,.messenger-author,.messenger-message-author){border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important}

  html:root body #messenger-new-modal>section,
  html:root body .messenger-new-modal>section{margin:auto!important;align-self:center!important;justify-self:center!important}
  html:root body .profile-family-editor-row label{min-width:0!important;padding:0 .42rem!important}
  html:root body .profile-family-editor-row>button{width:2.15rem!important;height:2.15rem!important}
}

@media(max-width:390px){
  html:root body #profile-layout-grid{padding-inline:.35rem!important}
  .mobile-bottom-navigation{right:.25rem;left:.25rem;gap:.08rem;padding:.28rem}
  .mobile-bottom-navigation>button{width:2.35rem;min-width:2.35rem;flex-basis:2.35rem}
  .mobile-bottom-navigation>button.is-active{min-width:4.2rem;padding-inline:.5rem}
  html:root body #cover-section #user-info-group{left:5.2rem!important}
  .mobile-cover-avatar{left:.58rem;width:3.95rem;height:3.95rem}
  html:root body .profile-publisher-hub .space-tabs>button{padding-inline:.25rem!important}
  html:root body .profile-publisher-hub .space-tabs .space-tab-label{font-size:.5rem!important}
  html:root body .publisher-create-button>span{display:none!important}
  html:root body .profile-publisher-hub .space-news-strip>span{display:none!important}
  html:root body #friends-viewport .friends-find-button{width:2.35rem!important;padding:0!important}
  html:root body #friends-viewport .friends-find-button>span{display:none!important}
}

/* V2.0.100: мобильная переписка, стабильные панели и единая геометрия. */
html:root body .messenger-conversation-actions>.messenger-chat-menu:not(.is-row-menu){
  position:absolute!important;z-index:1200!important;top:calc(100% + .38rem)!important;right:0!important;bottom:auto!important;left:auto!important;
  width:min(19rem,calc(100vw - 1rem))!important;max-height:min(72dvh,34rem)!important;margin:0!important;overflow-y:auto!important;
  border:0!important;border-radius:1rem!important;transform:none!important;box-shadow:0 1rem 2.8rem rgb(2 8 23/.3)!important
}
html:root body .messenger-conversation-actions>.messenger-chat-menu:not(.is-row-menu)::before{
  content:"";position:absolute;top:-.28rem;right:.9rem;width:.65rem;height:.65rem;background:inherit;transform:rotate(45deg)
}
html:root body .messenger-recording-cancel::before{border-radius:.9rem!important}
html:root body .messenger-recording-send .messenger-icon,
html:root body .messenger-recording-send svg{width:1.08rem!important;height:1.08rem!important}

/* Нижняя навигация больше не убегает при обычной прокрутке страницы. */

/* Уведомления — отдельный неподвижный экран; фон и основная навигация не прокручиваются. */

/* Общие панели переключения: активная вкладка раскрывает подпись, остальные остаются иконками. */
@media(max-width:767px){
  html:root body :is(.signals-scope-tabs,.achievements-scope-tabs,.achievements-dialog-tabs){display:flex!important;overflow-x:auto!important;align-items:center!important;gap:.22rem!important;padding:.3rem!important;border:0!important;border-radius:1rem!important;scrollbar-width:none!important}
  html:root body :is(.signals-scope-tabs,.achievements-scope-tabs,.achievements-dialog-tabs)::-webkit-scrollbar{display:none!important}
  html:root body :is(.signals-scope-tabs,.achievements-scope-tabs,.achievements-dialog-tabs)>button{display:flex!important;width:2.65rem!important;min-width:2.65rem!important;min-height:2.65rem!important;flex:0 0 2.65rem!important;align-items:center!important;justify-content:center!important;gap:0!important;padding:.38rem!important;border:0!important;border-radius:.8rem!important;overflow:hidden!important;white-space:nowrap!important}
  html:root body :is(.signals-scope-tabs,.achievements-scope-tabs,.achievements-dialog-tabs)>button>*:not(i):not(svg):not(.messenger-icon){display:none!important}
  html:root body :is(.signals-scope-tabs,.achievements-scope-tabs,.achievements-dialog-tabs)>button.is-active{width:auto!important;min-width:5.6rem!important;flex:1 0 auto!important;gap:.35rem!important;padding-inline:.7rem!important}
  html:root body :is(.signals-scope-tabs,.achievements-scope-tabs,.achievements-dialog-tabs)>button.is-active>*{display:inline-flex!important}

  html:root body.mobile-chat-open .messenger-chat-menu{position:absolute!important;top:calc(100% + .38rem)!important;right:0!important;bottom:auto!important;left:auto!important;width:min(19rem,calc(100vw - 1rem))!important;max-height:min(72dvh,34rem)!important;border-radius:1rem!important}
  html:root body.mobile-chat-open .messenger-chat-menu button{min-height:2.85rem!important}

  html:root body .messenger-recording-panel.is-active:not(.is-draft){grid-template-columns:auto auto minmax(2rem,1fr) 2.35rem!important}
  html:root body .messenger-recording-cancel{min-width:2.35rem!important;padding:0 .48rem!important}
  html:root body .messenger-recording-cancel>span{font-size:.52rem!important}
  html:root body .messenger-room-panel>nav button{min-width:3.25rem!important;min-height:3rem!important;padding:.45rem .7rem!important}
  html:root body .messenger-room-panel-members article,
  html:root body .messenger-room-member-list article{min-height:4rem!important;padding:.62rem!important}
  html:root body .messenger-room-member-actions-toggle{width:2.55rem!important;height:2.55rem!important}
  html:root body .messenger-room-member-actions-menu{position:fixed!important;z-index:1300!important;right:.55rem!important;bottom:calc(.55rem + env(safe-area-inset-bottom,0px))!important;left:.55rem!important;top:auto!important;width:auto!important;padding:.4rem!important;border:0!important;border-radius:1rem!important}
  html:root body .messenger-room-member-actions-menu button{min-height:3.25rem!important;padding:.72rem!important;font-size:.64rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item,
  html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:3.65rem!important;font-size:.76rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation svg{width:1.35rem!important;height:1.35rem!important}
  html:root body #post-viewer #post-viewer-panel{display:grid!important;width:100vw!important;height:100dvh!important;grid-template-rows:minmax(12rem,46dvh) minmax(0,1fr) auto!important;border:0!important;border-radius:0!important;overflow:hidden!important}
  html:root body #post-viewer :is(.post-viewer-media,.post-viewer-image-wrap,.viewer-media-stage){min-height:0!important;max-height:46dvh!important}
  html:root body #post-viewer :is(.post-viewer-media img,.viewer-media-stage img){width:100%!important;height:100%!important;object-fit:contain!important}
  html:root body #post-viewer :is(.post-viewer-content,.post-viewer-comments,.viewer-post-body){min-height:0!important;overflow-y:auto!important}
}

/* Пресеты обложек показывают весь кадр, а регуляторы плеера всегда поверх панелей. */
html:root body :is(.cover-image-option,.cover-image-preset,.cover-editor-image-option,.cover-preset-card) img{object-fit:contain!important;object-position:center!important;background:color-mix(in srgb,var(--vmesta-ui-panel,#fff) 86%,#000 14%)!important}
html:root body .cover-image-tile .cover-preview-image{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;background-color:color-mix(in srgb,var(--vmesta-ui-panel,#fff) 86%,#000 14%)!important}
html:root body :is(.volume-popover,.audio-volume-popover,.profile-player-volume,.music-volume-control,.global-music-volume-popover,.vmesta-track-volume-popover){z-index:25000!important}

/* Публикации без декоративной рамки — на ленте и в просмотрщиках. */

/* Контактные ссылки доступны только в контексте собственного профиля. */
html:root body:not(:has(#profile-tabs-container.is-own-profile-context)) :is(#profile-contact-links-section,#profile-contact-links-bar){display:none!important}
html:root body #nav-my{position:relative!important;padding-right:3.25rem!important}
html:root body .profile-account-switch-trigger{position:absolute;z-index:4;right:.45rem;display:grid;width:2.45rem;height:2.45rem;place-items:center;border:0;border-radius:.75rem;background:color-mix(in srgb,var(--vmesta-ui-primary,#249653) 12%,transparent);color:var(--vmesta-ui-primary,#249653)}
html:root body .profile-account-switch-trigger[hidden]{display:none!important}
html:root body .profile-account-switch-trigger svg{width:1rem!important;height:1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2.2!important}
@media(max-width:767px){
  html:root body .top-account-switch-menu.is-drawer-origin{position:fixed!important;z-index:24000!important;top:auto!important;right:.75rem!important;bottom:calc(var(--vmesta-mobile-nav-height,4.75rem) + .85rem + env(safe-area-inset-bottom,0px))!important;left:.75rem!important;width:auto!important;max-height:min(44dvh,22rem)!important;overflow-y:auto!important;transform-origin:bottom center!important}
}

/* ------------[Мобильная оболочка 2.0.99]------------ // Оформляет связанный блок интерфейса.
   Убирает декоративные контуры, разводит конфликтующие мобильные слои и
   делает панели самостоятельными экранами без ловушек прокрутки. Модуль: «оформление интерфейса». Часть 13/15 */
.mobile-header-search,.notifications-mobile-back{display:none}
html:root body .global-music-panel{isolation:isolate;overflow:hidden;background:color-mix(in srgb,var(--vmesta-ui-panel,#fff) 78%,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 22%)!important}
html:root body .global-music-panel::before{content:"";position:absolute;z-index:-2;inset:-1rem;background-image:linear-gradient(90deg,rgb(3 12 22/.66),rgb(3 12 22/.34)),var(--global-track-cover,linear-gradient(135deg,var(--vmesta-ui-primary,#249653),#142c45));background-position:center;background-size:cover;filter:blur(10px) saturate(1.2);transform:scale(1.14);opacity:.92}
html:root body .global-music-panel::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgb(3 12 22/.54),rgb(3 12 22/.18))}
html:root body .global-music-panel :is(button,strong,small,time){position:relative;z-index:1;color:#fff!important;text-shadow:0 1px 4px rgb(0 0 0/.55)}

@media(max-width:767px){
  /* Шапка: бренд строго по центру, справа только поиск, подарок и уведомления. */
  html:root body #site-header .site-brand-player{display:flex!important;left:50%!important;z-index:0!important;pointer-events:none!important}
  html:root body #site-header .site-brand-player>[data-site-wordmark]{display:block!important;font-size:.92rem!important;font-weight:900!important;letter-spacing:.16em!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#fff))!important}
  html:root body #site-header .site-brand-player>#global-music-dock{display:none!important}
  html:root body #site-header nav{display:none!important}
  html:root body #site-header>div>div:last-child{z-index:2!important;margin-left:auto!important}
  .mobile-header-search{display:grid;width:2.35rem;height:2.35rem;min-width:2.35rem;place-items:center;border:0;border-radius:.75rem;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 9%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))}
  .mobile-header-search svg{width:1.18rem;height:1.18rem;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round}
  html:root body #site-header :is(#gifts-header-button,#notif-bell-btn){width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important;padding:0!important;border:0!important;border-radius:.75rem!important}

  /* Никаких тонких рамок у карточек, кнопок и выпадающих панелей. */
  html:root body :is(#profile-left-rail,#profile-right-rail,#profile-tabs-container,.profile-sidebar-navigation-frame,.profile-sidebar-navigation,.profile-sidebar-more-menu,.mobile-drawer-utility>*,.messenger-chat-menu,.messenger-message-menu,.messenger-reaction-panel,.privacy-blacklist-card,.privacy-blacklist-groups,.privacy-blacklist-group,.notification-history-dialog,.theme-catalog-dialog,.cover-editor-workspace){border:0!important;outline:0!important;box-shadow:none!important}
  html:root body :is(#profile-left-rail,#profile-right-rail,#profile-tabs-container,.profile-sidebar-navigation,.profile-sidebar-more-menu,.mobile-drawer-header,.mobile-achievements-header) button{border:0!important;outline:0!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu{background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 8%,var(--vmesta-ui-panel,#fff))!important;box-shadow:none!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{background:transparent!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button:hover{background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 14%,var(--vmesta-ui-panel,#fff))!important}

  /* Плеер и уровень сохраняют все кнопки внутри доступной ширины. */
  html:root body #profile-left-rail .mobile-drawer-utility>*{border:0!important;outline:0!important;box-shadow:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility #global-music-dock.is-open{display:block!important;overflow:visible!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-panel:not(.hidden){display:grid!important;width:100%!important;min-width:0!important;height:auto!important;min-height:3.35rem!important;grid-template-columns:2rem minmax(0,1fr) auto!important;grid-template-rows:auto!important;gap:.32rem!important;padding:.38rem!important;border:0!important;border-radius:.9rem!important;overflow:hidden!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-panel>.global-music-inline-close{display:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-panel>#global-music-play{display:grid!important;grid-column:1!important;width:2rem!important;height:2rem!important;place-items:center!important;visibility:visible!important;opacity:1!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-timeline{grid-column:2!important;min-width:0!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-controls{grid-column:3!important;display:flex!important;visibility:visible!important;opacity:1!important}
  html:root body #profile-left-rail .mobile-drawer-utility #top-level-widget{border:0!important;outline:0!important;box-shadow:none!important}

  /* Контакты находятся первыми в правой шторке достижений. */
  .mobile-achievements-contacts{display:block;margin:0 0 .6rem;padding:.1rem}
  .mobile-achievements-contacts #profile-contact-links-bar{display:flex!important;width:100%!important;max-width:none!important;overflow-x:auto!important;margin:0!important;padding:.38rem!important;border:0!important;border-radius:.88rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 9%,var(--vmesta-ui-panel,#fff))!important;box-shadow:none!important}

  /* Неактивная вкладка — только иконка; активная — иконка с подписью. */
  html:root body #profile-tabs-container{border:0!important;box-shadow:none!important}
  html:root body #profile-tabs-container .tab-btn{border:0!important;background:transparent!important;color:var(--vmesta-ui-muted,#64748b)!important;box-shadow:none!important}
  html.dark:root body #profile-tabs-container .tab-btn:not(.active-tab):not(.font-bold){color:#fff!important}
  html:root body #profile-tabs-container .tab-btn:is(.active-tab,.font-bold),
  html:root body:has(#about-modal:not(.hidden)) #profile-tabs-container #about-profile-button{background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 14%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important;border-radius:.85rem!important}
  html:root body #profile-tabs-container .tab-btn :is(svg,path,circle,rect,ellipse){stroke:currentColor!important}

  /* Все крупные панели работают как отдельные мобильные экраны. */
  html:root body #settings-modal{z-index:23000!important;align-items:stretch!important;padding:0!important}
  html:root body #settings-modal .theme-catalog-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important}
  html:root body #settings-modal .theme-catalog-body{min-height:0!important;overflow-y:auto!important}
  html:root body #cover-animation-panel:not(.hidden){position:fixed!important;z-index:22500!important;inset:0!important;display:block!important;width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;background:var(--vmesta-ui-bg,var(--adaptive-bg,#f4f7fb))!important;overflow:hidden!important}
  html:root body #cover-animation-panel .cover-animation-inner,
  html:root body #cover-animation-panel .cover-editor-workspace{width:100%!important;height:100%!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;overflow-y:auto!important}
  html:root body #cover-image-grid img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#249653) 5%,var(--vmesta-ui-panel,#fff))!important}
  html:root body #friends-modal{z-index:24000!important;align-items:stretch!important;padding:0!important}
  html:root body #friends-modal>div{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important}
  body:has(#settings-modal:not(.hidden)) .mobile-bottom-navigation,
  body:has(#about-modal:not(.hidden)) .mobile-bottom-navigation,
  body:has(#friends-modal:not(.hidden)) .mobile-bottom-navigation,
  body:has(#global-search-modal:not(.hidden)) .mobile-bottom-navigation,
  body:has(#notification-history-modal:not(.hidden)) .mobile-bottom-navigation,
  body:has(#cover-animation-panel:not(.hidden)) .mobile-bottom-navigation{opacity:0!important;transform:translateY(calc(100% + 1.2rem))!important;pointer-events:none!important}

  /* Уведомления: полноценный экран и понятная кнопка назад. */
  html:root body #notifications-dropdown.notifications-dropdown-v2{position:fixed!important;z-index:23500!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important;transform:none!important}
  html:root body #notifications-dropdown .notifications-dropdown-head{padding-top:calc(.65rem + env(safe-area-inset-top,0px))!important}
  html:root body #notifications-dropdown .notifications-dropdown-head::before{content:"‹";display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:.75rem;background:color-mix(in srgb,var(--vmesta-ui-primary,#249653) 10%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-primary,#249653);font-size:1.65rem;line-height:1}
  html:root body #notifications-dropdown .notifications-dropdown-content{max-height:none!important;flex:1!important}
  html:root body #notification-history-modal{align-items:stretch!important;padding:0!important}
  html:root body #notification-history-modal .notification-history-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important}
  html:root body #notification-history-modal .notification-history-head{padding-top:calc(.7rem + env(safe-area-inset-top,0px))!important}

  /* Поиск: результаты сверху, разделы — отдельным блоком ниже. */
  html:root body #global-search-modal{z-index:23200!important;padding:0!important}
  html:root body #global-search-modal .global-search-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;border-radius:0!important}
  html:root body #global-search-modal .global-search-layout{display:flex!important;min-height:0!important;flex-direction:column!important;overflow-y:auto!important}
  html:root body #global-search-modal .global-search-main{order:1!important;flex:0 0 auto!important;border:0!important}
  html:root body #global-search-modal .global-search-side{order:2!important;display:grid!important;grid-template-columns:1fr 1fr!important;border:0!important}
  html:root body #global-search-modal .global-search-side>header{grid-column:1/-1!important}

  /* Контекст сообщения закрывает подложка; удержание не открывает меню. */
  .messenger-message-menu-backdrop{position:fixed;z-index:1088;inset:0;width:100vw;height:100dvh;border:0;background:rgb(2 9 18/.22);backdrop-filter:blur(1px)}
  html:root body .messenger-message-menu-stack{z-index:1090!important}
  html:root body.mobile-chat-open .messenger-conversation-actions{position:relative!important}
  html:root body.mobile-chat-open .messenger-conversation-actions>.messenger-chat-menu:not(.is-row-menu){position:absolute!important;z-index:1092!important;top:0!important;right:calc(100% + .35rem)!important;bottom:auto!important;left:auto!important;width:min(18rem,calc(100vw - 4rem))!important;max-height:calc(100dvh - 5rem)!important;border:0!important;border-radius:1rem!important;overflow-y:auto!important}
  html:root body.messages-route .messenger-chat-menu.is-row-menu{position:fixed!important;z-index:1092!important;top:var(--messenger-menu-top)!important;left:var(--messenger-menu-left)!important;right:auto!important;bottom:auto!important;width:min(18rem,calc(100vw - 1rem))!important;max-height:min(72dvh,34rem)!important;border:0!important;border-radius:1rem!important;overflow-y:auto!important}

  /* Запись голоса/кружка: таймер, волна и действия больше не наезжают друг на друга. */
  html:root body .messenger-recording-panel.is-active:not(.is-draft){display:grid!important;width:100%!important;grid-template-columns:2.5rem 4rem minmax(2rem,1fr) auto!important;gap:.35rem!important;padding:.36rem .42rem!important;transform:none!important}
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status{display:flex!important;width:auto!important;min-width:0!important;align-items:center!important;gap:.3rem!important;overflow:hidden!important}
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status>strong{white-space:nowrap!important}
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status>span{display:none!important}
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-wave{min-width:0!important;overflow:hidden!important}
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-lock{display:none!important}
  html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions{display:flex!important;position:static!important;gap:.22rem!important}
  html:root body .messenger-recording-panel.is-video .messenger-recording-video{position:fixed!important;right:.75rem!important;bottom:5rem!important;width:min(13rem,52vw)!important;height:min(13rem,52vw)!important}

  /* Тёмная тема чёрного списка использует те же поверхности, что настройки. */
  html.dark:root body :is(.privacy-blacklist-card,.privacy-blacklist-groups,.privacy-blacklist-group,.privacy-blacklist-group-toggle,.privacy-blacklist-group .privacy-blacklist-list){background:var(--vmesta-ui-panel,var(--adaptive-surface,#13263a))!important;color:var(--vmesta-ui-text,#fff)!important}
  html.dark:root body .privacy-blacklist-user{border:0!important;background:var(--vmesta-ui-soft,var(--adaptive-surface-2,#1b344a))!important}
  html.dark:root body .privacy-blacklist-group-toggle :is(strong,small),html.dark:root body .privacy-blacklist-user-copy :is(strong,small){color:inherit!important;opacity:1!important}

  /* В настройках темы доступен показ и состав нижней панели. */
  .mobile-nav-catalog-toggle{display:flex;min-height:3.8rem;align-items:center;justify-content:space-between;gap:.8rem;padding:.75rem;border-radius:.9rem;background:color-mix(in srgb,var(--vmesta-ui-primary,#249653) 8%,var(--vmesta-ui-panel,#fff))}
  .mobile-nav-catalog-toggle>span{display:grid;gap:.12rem}.mobile-nav-catalog-toggle b{font-size:.72rem}.mobile-nav-catalog-toggle small{font-size:.57rem;color:var(--vmesta-ui-muted,#718096)}
  .mobile-nav-catalog-toggle input{width:2.7rem;height:1.5rem;accent-color:var(--vmesta-ui-primary,#249653)}
  .mobile-nav-slot-list{display:grid;gap:.4rem;margin-top:.55rem}
  .mobile-nav-slot-list label{display:grid;grid-template-columns:1.7rem minmax(0,1fr);align-items:center;gap:.5rem}
  .mobile-nav-slot-list b{display:grid;height:1.7rem;place-items:center;border-radius:.55rem;background:color-mix(in srgb,var(--vmesta-ui-primary,#249653) 12%,transparent);color:var(--vmesta-ui-primary,#249653);font-size:.62rem}
  .mobile-nav-slot-list select{width:100%;min-height:2.65rem;border:0!important;border-radius:.75rem;padding:.55rem .7rem;background:var(--vmesta-ui-soft,var(--adaptive-surface-2,#edf4f1));color:var(--vmesta-ui-text,#15315d);font-weight:800;outline:0}

  /* Системная кнопка вверх остаётся над нижней навигацией. */
  html:root body #btn-to-top{right:.65rem!important;bottom:calc(var(--vmesta-mobile-nav-height) + env(safe-area-inset-bottom,0px) + .75rem)!important;border:0!important;z-index:1025!important}
  html:root body #about-modal .profile-origin-card{border:0!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#249653) 11%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-text,#fff)!important;opacity:1!important}
  html:root body #about-modal .profile-origin-card *{color:inherit!important;opacity:1!important}
}

@media (prefers-reduced-motion: reduce) and (max-width: 0px){
  html:root body #profile-left-rail,.mobile-drawer-backdrop,.mobile-bottom-navigation>button,.mobile-bottom-label{transition:none!important}
}

/* ------------[Мобильная оболочка 2.0.98]------------ // Оформляет связанный блок интерфейса.
   Активная медиавкладка растёт как нижняя навигация, обе боковые панели
   имеют явные ручки, а содержимое сообщений использует ширину телефона. Модуль: «оформление интерфейса». Часть 14/15 */
.mobile-drawer-utility,
.mobile-profile-peek{display:none}

@media(max-width:767px){
  /* Горизонтальные вкладки профиля: подпись остаётся только у выбранной. */
  html:root body #profile-tabs-container{padding:.32rem .45rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;border-color:var(--vmesta-ui-line,var(--adaptive-border,#dbe7df))!important}
  html:root body #profile-tabs-container .tab-btn{display:flex!important;width:2.65rem!important;min-width:2.65rem!important;height:2.7rem!important;flex:0 1 2.65rem!important;align-items:center!important;justify-content:center!important;gap:0!important;border:0!important;border-radius:.82rem!important;padding:0!important;background:transparent!important;color:var(--vmesta-ui-muted,var(--adaptive-text-secondary,#718096))!important;transition:flex .25s ease,width .25s ease,background-color .18s ease,color .18s ease!important}
  html:root body #profile-tabs-container .profile-tab-icon{display:grid!important;width:1.2rem!important;height:1.2rem!important;min-width:1.2rem!important;place-items:center!important}
  html:root body #profile-tabs-container .profile-tab-icon svg{width:1.16rem!important;height:1.16rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important}
  html:root body #profile-tabs-container .profile-tab-label{display:block!important;max-width:0!important;overflow:hidden!important;font-size:.64rem!important;font-weight:900!important;opacity:0!important;transform:translateX(-.2rem);white-space:nowrap!important;transition:max-width .25s ease,opacity .16s ease,transform .25s ease!important}
  html:root body #profile-tabs-container .tab-btn:is(.active-tab,.font-bold),
  html:root body:has(#about-modal:not(.hidden)) #profile-tabs-container #about-profile-button{width:auto!important;min-width:4.9rem!important;flex:1 1 7rem!important;gap:.4rem!important;padding:0 .68rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 14%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent)!important}

  /* Верх шторки: аватар слева, плеер и уровень занимают помеченное место справа. */
  html:root body #profile-left-rail .mobile-drawer-utility #global-music-dock{position:relative!important;inset:auto!important;display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;align-items:center!important;margin:0!important;transform:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-toggle{display:grid!important;width:100%!important;height:2.7rem!important;border-radius:.8rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 12%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important}
  html:root body #profile-left-rail .mobile-drawer-utility #global-music-dock.is-open .global-music-toggle{display:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-panel{position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;height:2.7rem!important;grid-template-columns:1.7rem minmax(2.2rem,1fr) 1.35rem .78rem!important;gap:.2rem!important;padding:.25rem!important;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 18%,var(--vmesta-ui-line,#dbe7df))!important;border-radius:.8rem!important;background:var(--vmesta-ui-soft,var(--adaptive-surface-2,#edf4f1))!important;transform:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility #top-level-widget{position:relative!important;inset:auto!important;display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:2.8rem!important;justify-content:center!important;gap:.3rem!important;margin:0!important;padding:.5rem .58rem!important;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 18%,var(--vmesta-ui-line,#dbe7df))!important;border-radius:.8rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 7%,var(--vmesta-ui-panel,#fff))!important;transform:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility #top-level-widget>div:first-child{font-size:.48rem!important;color:var(--vmesta-ui-muted,#718096)!important}
  html:root body #profile-left-rail .profile-sidebar-summary{margin:.05rem 0 0!important}

  /* Навигация шторки стала крупнее и контрастнее. */
  html:root body #profile-left-rail .profile-sidebar-navigation{display:grid!important;gap:.24rem!important;padding:.45rem!important;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 17%,var(--vmesta-ui-line,#dbe7df))!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 6%,var(--vmesta-ui-panel,#fff))!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item,
  html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:3.15rem!important;gap:.72rem!important;padding:.62rem .78rem!important;border:1px solid transparent!important;border-radius:.82rem!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important;font-size:.76rem!important;font-weight:850!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item:hover,
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item.active,
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item[aria-current="page"]{border-color:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 20%,transparent)!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 13%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item>svg{width:1.22rem!important;height:1.22rem!important;min-width:1.22rem!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu{border-radius:.85rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;box-shadow:inset 0 0 0 1px var(--vmesta-ui-line,#dbe7df)!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{min-height:3rem!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important}
  .mobile-drawer-extras{margin-top:0!important}

  /* Явные ручки не конфликтуют с системным жестом "назад". */
  .mobile-profile-peek,.mobile-achievements-peek{top:43dvh!important;display:grid!important;width:2.15rem!important;height:4.25rem!important;place-items:center!important;border-color:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 42%,transparent)!important;background:color-mix(in srgb,var(--vmesta-ui-panel,#fff) 91%,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 9%)!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important;box-shadow:0 .55rem 1.5rem rgb(15 23 42/.2)!important}
  .mobile-profile-peek{position:fixed;z-index:990;left:0;border-width:1px 1px 1px 0;border-style:solid;border-radius:0 1rem 1rem 0;transition:opacity .18s ease,transform .22s ease}
  .mobile-profile-peek svg,.mobile-achievements-peek svg{width:1.05rem!important;height:1.05rem!important;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  body.mobile-drawer-open .mobile-profile-peek{opacity:0;transform:translateX(-100%);pointer-events:none}
  body.mobile-achievements-open .mobile-profile-peek,
  body.mobile-drawer-open .mobile-achievements-peek{opacity:0;pointer-events:none}

  /* Настройки приватности: один прокручиваемый ряд компактных вариантов. */
  html:root body #cover-privacy-pane .privacy-setting-row{grid-template-columns:minmax(0,1fr)!important;gap:.58rem!important;padding:.78rem .72rem!important}
  html:root body #cover-privacy-pane .privacy-audience-picker{display:flex!important;width:100%!important;min-width:0!important;overflow-x:auto!important;grid-template-columns:none!important;gap:.28rem!important;padding:.25rem!important;border-radius:.82rem!important;scrollbar-width:none;scroll-snap-type:x proximity}
  html:root body #cover-privacy-pane .privacy-audience-picker::-webkit-scrollbar{display:none}
  html:root body #cover-privacy-pane .privacy-audience-option{min-width:max-content!important;min-height:2.35rem!important;flex:1 0 auto!important;padding:.45rem .72rem!important;border-radius:.62rem!important;scroll-snap-align:start;font-size:.6rem!important}
  html:root body #cover-privacy-pane .privacy-audience-option.is-active{background:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 .35rem .85rem color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 24%,transparent)!important}

  /* Меню поста полностью раскрывается слева от кнопки и не выходит за экран. */
  html:root body [data-post-card]>.post-actions>div{position:relative!important}
  html:root body [data-post-menu]{top:0!important;right:calc(100% + .42rem)!important;left:auto!important;width:min(13.5rem,calc(100vw - 4.8rem))!important;max-height:70dvh!important;overflow-y:auto!important;margin:0!important;border-color:var(--vmesta-ui-line,var(--adaptive-border,#dbe7df))!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important;box-shadow:0 1rem 2.5rem rgb(15 23 42/.2)!important}

  /* Списки и активный чат визуально отделены от фона. */
  html:root body.messages-route .messenger-dialogs-panel{background:var(--msg-panel,var(--vmesta-ui-panel,#fff))!important}
  html:root body.messages-route .messenger-main-header{border-bottom:1px solid color-mix(in srgb,var(--msg-accent,var(--vmesta-ui-primary,#249653)) 28%,var(--msg-line,#dbe7df))!important;background:color-mix(in srgb,var(--msg-accent,var(--vmesta-ui-primary,#249653)) 9%,var(--msg-panel,var(--vmesta-ui-panel,#fff)))!important;box-shadow:0 .5rem 1.2rem rgb(15 23 42/.07)!important}
  html:root body.mobile-chat-open .messenger-conversation-header{border-bottom:1px solid color-mix(in srgb,var(--msg-accent,var(--vmesta-ui-primary,#249653)) 28%,var(--msg-line,#dbe7df))!important;background:color-mix(in srgb,var(--msg-accent,var(--vmesta-ui-primary,#249653)) 8%,var(--msg-panel,var(--vmesta-ui-panel,#fff)))!important;box-shadow:0 .45rem 1.15rem rgb(15 23 42/.08)!important}
  html:root body.mobile-chat-open .messenger-message{width:100%!important;max-width:none!important;box-sizing:border-box!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}
  html:root body.mobile-chat-open .messenger-conversation.is-room-chat .messenger-message.is-incoming{padding-left:2.35rem!important}
  html:root body.mobile-chat-open .messenger-selection-toolbar{border-bottom:1px solid color-mix(in srgb,var(--msg-accent) 28%,var(--msg-line))!important;background:color-mix(in srgb,var(--msg-accent) 10%,var(--msg-panel))!important;box-shadow:0 .45rem 1.2rem rgb(15 23 42/.08)!important}
  html:root body.mobile-chat-open :is(.messenger-selection-close,.messenger-selection-actions button){border-color:color-mix(in srgb,var(--msg-accent) 24%,var(--msg-line))!important;background:var(--msg-panel)!important;color:var(--msg-accent)!important}

  /* Подарки наследуют выбранную палитру вместо фиксированного белого. */
  html:root body :is(.gift-center-dialog,.gift-history-item,.gift-recipient-dropdown){border-color:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 20%,var(--vmesta-ui-line,#dbe7df))!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important}
  html:root body :is(.gift-center-head,.gift-center-tabs,.gift-compose-card,.gift-catalog-item,.gift-inbox-item){background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 6%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important}
  html:root body :is(.gift-center-dialog,.gift-history-item,.gift-compose-card,.gift-catalog-item,.gift-inbox-item) :is(h2,h3,strong,p,small,time){color:inherit!important}
}

@media(max-width:390px){
}

/* V2.0.101 final: держим исправления выше старых слоёв v97-v100. */
@media(max-width:767px){
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item,
  html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:3.65rem!important;gap:.82rem!important;padding:.72rem .82rem!important;font-size:.86rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item>svg,
  html:root body #profile-left-rail .profile-sidebar-more-toggle>svg:first-child{width:1.42rem!important;height:1.42rem!important;min-width:1.42rem!important}
  html:root body .messenger-attach-wrap.is-open>.messenger-attach-menu,
  html:root body .messenger-attach-menu.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
  html:root body .messenger-room-panel-header-actions>button,html:root body .messenger-room-panel-header-actions>.messenger-room-manage-menu>button{width:2.75rem!important;height:2.75rem!important;min-width:2.75rem!important}
  html:root body .messenger-room-panel-header-actions svg{width:1.2rem!important;height:1.2rem!important}
  html:root body .messenger-new-modal{align-items:center!important;justify-content:center!important}
  html:root body .messenger-new-modal>section{margin:auto!important}
  html:root body .mobile-bottom-navigation{right:.55rem!important;bottom:calc(.28rem + env(safe-area-inset-bottom,0px))!important;left:.55rem!important;width:auto!important}
  html:root body .messenger-video-note-recording-preview{width:min(58vw,15rem)!important;height:min(58vw,15rem)!important}
  html:root body .mobile-profile-quick-menu{position:fixed!important;z-index:22050!important;top:calc(var(--vmesta-mobile-header-height,3.55rem) + env(safe-area-inset-top,0px) + .35rem)!important;left:.55rem!important;display:grid!important;width:min(16.5rem,calc(100vw - 1.1rem))!important;gap:.18rem!important;padding:.45rem!important;border:0!important;border-radius:1rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;box-shadow:0 1rem 3rem rgb(3 10 25/.35)!important;opacity:0!important;visibility:hidden!important;transform:translateY(-.45rem) scale(.98)!important;pointer-events:none!important;transition:.18s ease!important}
  html:root body .mobile-profile-quick-menu.is-open{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  html:root body .mobile-profile-quick-menu button{display:flex!important;min-height:3.1rem!important;align-items:center!important;gap:.72rem!important;padding:.62rem .7rem!important;border:0!important;border-radius:.78rem!important;background:transparent!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important;font-size:.78rem!important;font-weight:850!important;text-align:left!important}
  html:root body .mobile-profile-quick-menu button:active{background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 12%,transparent)!important}
  html:root body .mobile-profile-quick-menu svg{width:1.25rem!important;height:1.25rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  html:root body .mobile-profile-quick-menu .is-danger{color:#ef5f72!important}
  html:root body #top-profile-shortcut.is-mobile-spaces-context #top-user-name{max-width:6.5rem!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important;font-weight:850!important}
  html:root body #top-spaces-dropdown.is-mobile-spaces-menu{position:fixed!important;z-index:22040!important;top:calc(var(--vmesta-mobile-header-height,3.55rem) + env(safe-area-inset-top,0px) + .3rem)!important;right:.55rem!important;left:.55rem!important;width:auto!important;max-height:min(72dvh,34rem)!important;overflow-y:auto!important;border:0!important;border-radius:1rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;box-shadow:0 1rem 3rem rgb(3 10 25/.35)!important}
  html:root body #top-spaces-dropdown.is-mobile-spaces-menu .space-menu-row{display:flex!important;align-items:center!important;gap:.35rem!important}
  html:root body #top-spaces-dropdown.is-mobile-spaces-menu .space-menu-item{min-height:3.5rem!important}
  html:root body #top-spaces-dropdown.is-mobile-spaces-menu .space-menu-manage{width:2.75rem!important;height:2.75rem!important;min-width:2.75rem!important}
  html:root body.mobile-chat-open .messenger-conversation-actions>.messenger-chat-menu:not(.is-row-menu){position:absolute!important;z-index:1200!important;top:calc(100% + .4rem)!important;right:0!important;bottom:auto!important;left:auto!important;width:min(19rem,calc(100vw - 1rem))!important;max-height:min(72dvh,34rem)!important;margin:0!important;border-radius:1rem!important;transform:none!important}
  html:root body.messages-route .messenger-chat-menu.is-row-menu{position:fixed!important;z-index:1200!important;top:var(--messenger-menu-top)!important;right:auto!important;bottom:auto!important;left:var(--messenger-menu-left)!important;width:min(19rem,calc(100vw - 1rem))!important;max-height:min(72dvh,34rem)!important;border-radius:1rem!important;overflow-y:auto!important;transform:none!important}
}

/* V2.0.100: финальные приоритеты после всех прежних мобильных оболочек. */
html:root body .messenger-conversation-actions{position:relative!important;overflow:visible!important}
html:root body.mobile-chat-open .messenger-conversation-actions>.messenger-chat-menu:not(.is-row-menu){position:absolute!important;z-index:1200!important;top:calc(100% + .9rem)!important;right:0!important;bottom:auto!important;left:auto!important;width:min(19rem,calc(100vw - 1rem))!important;max-height:min(72dvh,34rem)!important;margin:0!important;border:0!important;border-radius:1rem!important;transform:none!important;box-shadow:0 1rem 2.8rem rgb(2 8 23/.3)!important}
html:root body .messenger-recording-cancel{display:flex!important;width:auto!important;min-width:2.65rem!important;align-items:center!important;justify-content:center!important;gap:.3rem!important;padding:0 .62rem!important;border-radius:.78rem!important}
html:root body .messenger-recording-cancel>span{display:block!important;font-size:.56rem!important;font-weight:900!important;white-space:nowrap!important}
html:root body .messenger-recording-panel.is-video .messenger-recording-status{position:fixed!important;z-index:1102!important;right:.75rem!important;bottom:3.15rem!important;width:min(13rem,52vw)!important;justify-content:center!important;padding:.28rem .55rem!important;border-radius:999px!important;background:color-mix(in srgb,var(--msg-panel,#fff) 90%,transparent)!important;box-shadow:0 .4rem 1rem rgb(2 8 23/.2)!important}
html:root body .messenger-conversation.has-chat-search .messenger-chat-search{top:calc(4rem + env(safe-area-inset-top,0px))!important;right:.5rem!important;left:.5rem!important;max-width:none!important}
html:root body.mobile-nav-scrolled:not(.mobile-chat-open):not(.mobile-input-surface-open):not(.mobile-nav-disabled) .mobile-bottom-navigation{opacity:1!important;transform:none!important;pointer-events:auto!important}
html:root body.notifications-panel-open{height:100dvh!important;overflow:hidden!important;overscroll-behavior:none!important}
html:root body.notifications-panel-open .mobile-bottom-navigation{display:none!important}
html:root body #notifications-dropdown.notifications-dropdown-v2:not(.hidden){display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;overflow:hidden!important}
html:root body #notifications-dropdown .notifications-dropdown-content{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
html:root body #notifications-dropdown .notifications-dropdown-footer{position:sticky!important;z-index:5!important;bottom:0!important;margin-top:0!important}
html:root body .cover-image-tile .cover-preview-image{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
html:root body :is(.global-music-volume-popover,.vmesta-track-volume-popover){z-index:25000!important}
html:root body :is(.global-music-volume-wrap,.vmesta-track-volume-wrap){z-index:25001!important;overflow:visible!important}
html:root body :is(.post-item,.space-post,.profile-post-card,.publication-card,#post-viewer-panel,.post-viewer-content,.post-viewer-card,.viewer-post-card){border:0!important;outline:0!important;box-shadow:none!important}
html:root body:not(.space-route) #profile-tabs-container.is-own-profile-context #btn-tab-my.is-visible{display:inline-flex!important}

@media(max-width:767px){
  html:root body.mobile-chat-open .messenger-conversation-header{overflow:visible!important;z-index:70!important}
  html:root body.mobile-chat-open .messenger-message-stream{position:relative!important;z-index:1!important;min-height:0!important;overflow-y:auto!important;touch-action:pan-y!important}
  html:root body.mobile-input-surface-open .messenger-message-stream{padding-bottom:1rem!important;overscroll-behavior-y:contain!important}
  html:root body.mobile-input-surface-open .messenger-composer{padding-bottom:calc(min(44dvh,22rem) + .5rem)!important}
  html:root body .messenger-recording-panel.is-video .messenger-recording-video{right:.65rem!important;bottom:5.6rem!important;width:min(13rem,52vw)!important;height:min(13rem,52vw)!important}
  html:root body .messenger-recording-panel.is-video .messenger-recording-status{right:.65rem!important;bottom:3.05rem!important;width:min(13rem,52vw)!important}
  html:root body .messenger-room-panel-layer{align-items:flex-end!important;background:rgb(2 8 23/.46)!important;backdrop-filter:blur(8px)!important}
  html:root body .messenger-room-panel-layer .messenger-room-panel{top:auto!important;width:100vw!important;height:min(92dvh,52rem)!important;max-height:92dvh!important;padding:.7rem!important;border-radius:1.35rem 1.35rem 0 0!important}
  html:root body #profile-left-rail{border-radius:0!important}
  html:root body #post-viewer{padding:0!important}
  html:root body #post-viewer #post-viewer-panel{width:100vw!important;height:100dvh!important;border:0!important;border-radius:0!important;overflow:hidden!important}
}

/* V2.0.99: эти правила намеренно последние — прежние мобильные слои не должны
   возвращать рамки и служебный левый язычок. */
html:root body :is(.post-item,.space-post,.profile-post-card,.post-viewer-card,.publication-card){border:0!important;outline:0!important}
@media(max-width:767px){
  html:root body #profile-left-rail :is(#profile-avatar-card,#global-music-dock,.global-music-panel,#top-level-widget),
  html:root body #profile-left-rail :is(#profile-avatar-card,#global-music-dock,.global-music-panel,#top-level-widget)::before,
  html:root body #profile-tabs-container :is(.tab-btn,button),
  html:root body #profile-left-rail :is(.profile-sidebar-more-toggle,.profile-sidebar-more-menu,.profile-sidebar-more-menu button){border:0!important;outline:0!important;box-shadow:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-panel:not(.hidden){border:0!important;outline:0!important;box-shadow:none!important}
  html:root body #profile-left-rail .mobile-drawer-utility #top-level-widget{border:0!important;outline:0!important;box-shadow:none!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 10%,var(--vmesta-ui-panel,#fff))!important}
}

/* V2.0.99: финальные приоритеты после прежней оболочки. */
@media(max-width:767px){
}

/* v99 must remain last: functional mobile controls override older v98 sizing. */
@media(max-width:767px){
  .mobile-profile-peek{display:none!important}
  html:root body #notifications-dropdown .notifications-dropdown-head::before{display:none!important}
  html:root body #notifications-dropdown .notifications-mobile-back{display:grid!important;width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important;place-items:center!important;border:0!important;border-radius:.75rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#249653) 10%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-primary,#249653)!important}
  html:root body #notifications-dropdown .notifications-mobile-back svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  html:root body #profile-left-rail .mobile-drawer-utility .global-music-panel:not(.hidden){display:grid!important;grid-template-columns:2rem minmax(0,1fr) auto!important;width:100%!important;min-width:0!important;height:auto!important;min-height:3.35rem!important;border:0!important}
}

@media (prefers-reduced-motion: reduce) and (max-width: 0px){
  .mobile-profile-peek,
  html:root body #profile-tabs-container .tab-btn,
  html:root body #profile-tabs-container .profile-tab-label{transition:none!important}
}
@media (prefers-reduced-motion: reduce) and (max-width: 0px){html:root body :is(#space-about-panel .space-verification-card .verification-mark,#about-modal .profile-verification-card .verification-mark,#cover-data-pane .cover-account-verification-mark),html:root body :is(#space-about-panel .space-verification-card .verification-mark,#about-modal .profile-verification-card .verification-mark,#cover-data-pane .cover-account-verification-mark)::before,html:root body :is(#space-about-panel .space-verification-card .verification-mark,#about-modal .profile-verification-card .verification-mark,#cover-data-pane .cover-account-verification-mark)::after{animation:none!important}}

/* ------------[Мобильная оболочка 2.0.97]------------ // Оформляет связанный блок интерфейса.
   Телефон получает собственную компоновку: полноэкранные шторки, чистый
   режим сообщений и нижнюю панель, которая не перекрывает рабочую область. Модуль: «оформление интерфейса». Часть 15/15 */
.mobile-drawer-header,
.mobile-drawer-extras,
.mobile-achievements-header,
.mobile-achievements-peek,
.messenger-mobile-list-tabs,
.mobile-nav-preference-row{display:none}

@media(max-width:767px){
  :root{--vmesta-mobile-header-height:3.55rem;--vmesta-mobile-nav-height:4rem;--vmesta-mobile-safe-bottom:env(safe-area-inset-bottom,0px)}
  html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
  body{padding-bottom:calc(var(--vmesta-mobile-nav-height) + var(--vmesta-mobile-safe-bottom) + .35rem)!important}

  /* Компактная верхняя строка: профиль открывает шторку, плеер живёт внутри неё. */
  html:root body #site-header{height:calc(var(--vmesta-mobile-header-height) + env(safe-area-inset-top,0px))!important;min-height:0!important;padding-top:env(safe-area-inset-top,0px);overflow:visible!important}
  html:root body #site-header>div{height:var(--vmesta-mobile-header-height)!important;min-height:0!important;gap:.32rem!important;padding:.4rem .52rem!important}
  html:root body #top-profile-shortcut{min-width:0!important;max-width:7.8rem!important;flex:0 1 7.8rem;gap:.42rem!important;cursor:pointer}
  html:root body #top-user-avatar-container{width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important}
  html:root body #top-user-name{display:block!important;max-width:4.8rem;overflow:hidden;font-size:.72rem!important;text-overflow:ellipsis;white-space:nowrap}
  html:root body #site-header .site-brand-player{display:none!important}
  html:root body #site-header #top-level-widget{display:none!important}
  html:root body #site-header>div>div:last-child{min-width:0!important;gap:.16rem!important}
  html:root body #site-header .spaces-top-wrapper{display:none!important}
  html:root body #site-header nav{display:flex!important;min-width:2.45rem!important;flex:0 1 auto!important;gap:.2rem!important}
  html:root body #site-header .search-wrapper{position:static!important;min-width:2.4rem!important;margin:0!important}
  html:root body #site-header #global-search{width:2.4rem!important;height:2.4rem!important;padding:0!important;border-radius:.75rem!important;color:transparent!important;caret-color:transparent!important}
  html:root body #site-header #global-search::placeholder{color:transparent!important}
  html:root body #site-header .search-wrapper>svg{z-index:2;left:.72rem!important;pointer-events:none}
  html:root body #site-header #global-search:focus{position:fixed!important;z-index:1105;top:calc(.42rem + env(safe-area-inset-top,0px));right:.48rem;left:.48rem;width:calc(100vw - .96rem)!important;padding:0 2.45rem!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important;caret-color:auto!important;box-shadow:0 .7rem 2rem rgb(4 12 24/.24)!important}
  html:root body #site-header #global-search:focus::placeholder{color:var(--vmesta-ui-muted,#8290a8)!important}
  html:root body #site-header #search-dropdown{position:fixed!important;z-index:1104;top:calc(var(--vmesta-mobile-header-height) + env(safe-area-inset-top,0px));right:.48rem!important;left:.48rem!important;width:auto!important;max-height:65dvh!important;border-radius:0 0 1rem 1rem!important}
  html:root body #site-header :is(#gifts-button,#notifications-button){width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important;padding:0!important;border-radius:.75rem!important}
  html:root body #site-header :is(#gifts-button,#notifications-button) span{transform:scale(.82)}
  html:root body #site-header>div>div:last-child>.relative.ml-2{display:none!important}

  /* Левая шторка занимает всю высоту. В ней есть профиль, разделы, контакты,
     уровень, плеер, настройки и тема. */
  html:root body #profile-left-rail{position:fixed!important;z-index:1050!important;top:0!important;bottom:0!important;left:0!important;display:flex!important;width:min(22.5rem,92vw)!important;height:100dvh!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;flex-direction:column!important;gap:.55rem!important;margin:0!important;padding:calc(.55rem + env(safe-area-inset-top,0px)) .6rem calc(.75rem + env(safe-area-inset-bottom,0px))!important;border:0!important;border-radius:0 1.35rem 1.35rem 0!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;box-shadow:1.1rem 0 3rem rgb(3 10 25/.3)!important;opacity:1!important;transform:translateX(calc(-100% - 1.25rem))!important;visibility:visible!important;transition:transform .3s cubic-bezier(.2,.8,.2,1)!important;overscroll-behavior:contain;scrollbar-width:thin}
  body.mobile-drawer-open #profile-left-rail{transform:translateX(0)!important}
  html:root body #profile-left-rail>*{flex:0 0 auto}
  html:root body #profile-left-rail #profile-sidebar-shell{display:flex!important;flex-direction:column!important;gap:.5rem!important}
  .mobile-drawer-header{position:sticky;z-index:5;top:0;display:flex;min-height:3.2rem;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .25rem .55rem;background:color-mix(in srgb,var(--vmesta-ui-panel,var(--adaptive-surface,#fff)) 93%,transparent);backdrop-filter:blur(18px)}
  .mobile-drawer-header>div:first-child{display:grid;min-width:0;gap:.05rem}
  .mobile-drawer-header>div:first-child span{color:var(--vmesta-ui-primary,var(--color-dynamic,#249653));font-size:.5rem;font-weight:950;letter-spacing:.18em}
  .mobile-drawer-header>div:first-child strong{overflow:hidden;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d));font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}
  .mobile-drawer-header>div:last-child{display:flex;gap:.25rem}
  .mobile-drawer-header button{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:0;border-radius:.76rem;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 11%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))}
  .mobile-drawer-header svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .mobile-drawer-extras{display:grid;gap:.5rem;margin-top:auto;padding:.1rem}
  .mobile-drawer-extras #global-music-dock{position:relative!important;inset:auto!important;display:flex!important;width:100%!important;max-width:none!important;transform:none!important}
  .mobile-drawer-extras #top-level-widget{position:relative!important;inset:auto!important;display:flex!important;width:100%!important;max-width:none!important;transform:none!important}
  .mobile-drawer-extras #profile-contact-links-bar{display:flex!important;width:100%!important;max-width:none!important;overflow-x:auto!important;padding:.35rem!important;border-radius:.85rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 7%,var(--vmesta-ui-panel,#fff))!important}
  html:root body #profile-tabs-container #profile-contact-links-bar{display:none!important}
  html:root body #profile-left-rail .nav-item{min-height:2.75rem!important}

  /* Правая шторка с достижениями. */
  html:root body #profile-right-rail{position:fixed!important;z-index:1050!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;display:block!important;width:min(22.5rem,92vw)!important;height:100dvh!important;max-height:none!important;overflow-y:auto!important;margin:0!important;padding:calc(.72rem + env(safe-area-inset-top,0px)) .62rem calc(.8rem + env(safe-area-inset-bottom,0px))!important;border:0!important;border-radius:1.35rem 0 0 1.35rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;box-shadow:-1.1rem 0 3rem rgb(3 10 25/.3)!important;opacity:1!important;transform:translateX(calc(100% + 1.25rem))!important;visibility:visible!important;transition:transform .3s cubic-bezier(.2,.8,.2,1)!important;overscroll-behavior:contain}
  html:root body.mobile-achievements-open #profile-right-rail{transform:translateX(0)!important}
  html:root body #profile-right-rail>*{position:relative!important;top:auto!important}
  .mobile-achievements-header{position:sticky!important;z-index:6;top:0!important;display:flex;min-height:3.2rem;align-items:center;justify-content:space-between;gap:.7rem;margin:0 0 .55rem;padding:.3rem .15rem .55rem;background:color-mix(in srgb,var(--vmesta-ui-panel,var(--adaptive-surface,#fff)) 94%,transparent);backdrop-filter:blur(18px)}
  .mobile-achievements-header>div{display:grid;gap:.04rem}.mobile-achievements-header span{color:var(--vmesta-ui-primary,var(--color-dynamic,#249653));font-size:.48rem;font-weight:950;letter-spacing:.17em}.mobile-achievements-header strong{color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d));font-size:.88rem}
  .mobile-achievements-header button{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:0;border-radius:.76rem;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 10%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))}.mobile-achievements-header svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
  .mobile-achievements-peek{position:fixed;z-index:990;top:42dvh;right:0;display:grid;width:1.5rem;height:3.35rem;place-items:center;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 30%,transparent);border-right:0;border-radius:.85rem 0 0 .85rem;background:color-mix(in srgb,var(--vmesta-ui-panel,#fff) 90%,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 10%);color:var(--vmesta-ui-primary,var(--color-dynamic,#249653));box-shadow:-.35rem .35rem 1rem rgb(15 23 42/.12);transition:opacity .18s ease,transform .22s ease}
  .mobile-achievements-peek svg{width:.86rem;height:.86rem;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
  body.mobile-achievements-open .mobile-achievements-peek{opacity:0;transform:translateX(100%);pointer-events:none}
  .mobile-drawer-peek{display:none!important}
  .mobile-drawer-backdrop{z-index:1040!important}
  body.mobile-drawer-open .mobile-drawer-backdrop,
  body.mobile-achievements-open .mobile-drawer-backdrop{opacity:1!important;pointer-events:auto!important}

  /* Нижняя панель прячется при прокрутке и полностью уходит в открытом чате. */
  .mobile-bottom-navigation{z-index:1030!important;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease!important}
  body.mobile-nav-scrolled .mobile-bottom-navigation,
  body.mobile-chat-open .mobile-bottom-navigation,
  body.mobile-input-surface-open .mobile-bottom-navigation,
  body.mobile-nav-disabled .mobile-bottom-navigation{opacity:0!important;transform:translateY(calc(100% + 1.2rem + env(safe-area-inset-bottom,0px)))!important;pointer-events:none!important}
  body.mobile-nav-disabled{padding-bottom:env(safe-area-inset-bottom,0px)!important}
  .mobile-nav-preference-row{display:flex;min-height:3.4rem;align-items:center;justify-content:space-between;gap:.8rem;margin:.35rem 0;padding:.65rem .75rem;border-radius:.9rem;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 8%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))}
  .mobile-nav-preference-row>span{display:grid;gap:.1rem}
  .mobile-nav-preference-row b{font-size:.7rem}.mobile-nav-preference-row small{font-size:.55rem;color:var(--vmesta-ui-muted,#8290a8)}
  .mobile-nav-preference-row input{width:2.6rem;height:1.45rem;accent-color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))}

  /* Профиль и пространства: меньше служебных элементов, больше полезной площади. */
  html:root body #profile-tabs-container>div{justify-content:space-between!important}
  html:root body #profile-tabs-container button{min-width:auto!important;flex:1 0 auto;padding-inline:.52rem!important}
  html:root body #profile-tabs-container button span{font-size:.67rem!important}
  html:root body .space-page-shell .space-intro-card{gap:.65rem!important;padding:.82rem!important;border-radius:1rem!important}
  html:root body .space-page-shell .space-intro-main h2{font-size:1.65rem!important;line-height:1!important}
  html:root body .space-page-shell .space-intro-main p{display:-webkit-box!important;overflow:hidden;margin-top:.4rem!important;font-size:.68rem!important;line-height:1.35!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  html:root body .space-page-shell .space-intro-actions{display:grid!important;width:100%!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.4rem!important}
  html:root body .space-page-shell .spaces-index-search-wrap{width:100%!important;min-width:0!important}
  html:root body .space-page-shell .space-primary-button{width:auto!important;min-width:3.2rem!important;max-width:9rem!important;min-height:2.8rem!important;padding:.55rem .7rem!important;border-radius:.82rem!important;font-size:.57rem!important;line-height:1.15!important}
  html:root body .spaces-index-toolbar{position:sticky!important;z-index:12;bottom:calc(var(--vmesta-mobile-nav-height) + .6rem + env(safe-area-inset-bottom,0px));display:flex!important;overflow-x:auto!important;gap:.25rem!important;padding:.35rem!important;border-radius:1rem!important;box-shadow:0 .7rem 1.8rem rgb(4 12 24/.18)!important;scrollbar-width:none}
  html:root body .spaces-index-toolbar button{min-width:max-content!important;min-height:2.4rem!important;padding:.45rem .7rem!important;border-radius:.72rem!important}
  html:root body .spaces-index-toolbar .spaces-index-scope{display:flex!important;min-width:max-content!important;flex-wrap:nowrap!important;gap:.2rem!important}
  html:root body :is(.post-item,.space-post,.profile-post-card){overflow:hidden;border:0!important;border-radius:1.1rem!important;box-shadow:0 .55rem 1.4rem rgb(15 23 42/.07)!important}

  /* Сообщения — отдельный экран, без обложки профиля и вкладок сайта. */
  body.messages-route{height:100dvh!important;min-height:0!important;overflow:hidden!important;padding:0!important}
  html:root body.messages-route :is(#site-header,#cover-section,#profile-tabs-container,#profile-left-rail,#profile-right-rail,.mobile-achievements-peek){display:none!important}
  html:root body.messages-route main{height:100dvh!important;min-height:0!important;margin:0!important;padding:0!important}
  html:root body.messages-route #profile-layout-grid{display:block!important;width:100%!important;height:100dvh!important;min-height:0!important;margin:0!important;padding:0 0 calc(var(--vmesta-mobile-nav-height) + env(safe-area-inset-bottom,0px) + .25rem)!important}
  html:root body.messages-route.mobile-chat-open #profile-layout-grid,
  html:root body.messages-route.mobile-input-surface-open #profile-layout-grid,
  html:root body.messages-route.mobile-nav-disabled #profile-layout-grid{padding-bottom:0!important}
  html:root body.messages-route :is(#content-main,#tab-messages,#messages-root){width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important}
  html:root body.messages-route .messenger-shell{width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  html:root body.messages-route .messenger-dialogs-panel,
  html:root body.messages-route .messenger-conversation{height:100%!important;min-height:0!important;border:0!important;border-radius:0!important}
  html:root body.messages-route .messenger-main-header{min-height:3.65rem!important;padding:calc(.55rem + env(safe-area-inset-top,0px)) .75rem .45rem!important}
  html:root body.messages-route .messenger-main-header h1{font-size:1.2rem!important}
  .messenger-mobile-list-tabs{display:flex;overflow-x:auto;gap:.25rem;padding:.35rem .55rem .15rem;scrollbar-width:none}
  .messenger-mobile-list-tabs::-webkit-scrollbar{display:none}
  .messenger-mobile-list-tabs button{display:flex;min-width:max-content;min-height:2.2rem;align-items:center;justify-content:center;gap:.25rem;border:0;border-radius:.72rem;padding:.35rem .7rem;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 7%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-muted,#718096);font-size:.64rem;font-weight:900}
  .messenger-mobile-list-tabs button.is-active{background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 16%,var(--vmesta-ui-panel,#fff));color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))}
  .messenger-mobile-list-tabs b{display:grid;min-width:1rem;height:1rem;place-items:center;border-radius:999px;background:currentColor;color:#fff;font-size:.45rem}
  html:root body.messages-route .messenger-search{min-height:2.75rem!important;margin:.4rem .55rem!important;border-radius:.82rem!important}
  html:root body.messages-route .messenger-type-tabs{display:flex!important;overflow-x:auto!important;gap:.2rem!important;margin:0 .55rem .35rem!important;padding:.2rem!important;scrollbar-width:none}
  html:root body.messages-route .messenger-type-tabs button{min-width:max-content!important;min-height:2.15rem!important;padding:.35rem .62rem!important;font-size:.58rem!important}
  html:root body.messages-route .messenger-chat-list{padding:0 .45rem .6rem!important}
  html:root body.mobile-chat-open .messenger-dialogs-panel{display:none!important}
  html:root body.mobile-messages-list .messenger-conversation{display:none!important}
  html:root body.mobile-chat-open .messenger-conversation{display:grid!important;position:fixed!important;z-index:1020;inset:0!important;width:100vw!important;height:100dvh!important;grid-template-columns:minmax(0,1fr)!important;background:var(--vmesta-ui-bg,var(--adaptive-bg,#f4f7fb))!important}
  html:root body.mobile-chat-open .messenger-conversation-header{min-height:4rem!important;padding:calc(.5rem + env(safe-area-inset-top,0px)) .5rem .45rem!important;gap:.35rem!important}
  html:root body.mobile-chat-open .messenger-conversation-header .messenger-mobile-back{display:grid!important;flex:0 0 2.45rem!important;width:2.45rem!important;height:2.45rem!important}
  html:root body.mobile-chat-open .messenger-conversation-actions{gap:.1rem!important}
  html:root body.mobile-chat-open .messenger-conversation-actions>button{width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important}
  html:root body.mobile-chat-open .messenger-message-stream{padding:.65rem .45rem .5rem!important;overscroll-behavior:contain}
  html:root body.mobile-chat-open .messenger-message{max-width:88%!important}
  html:root body.mobile-chat-open .messenger-composer{position:relative!important;z-index:15;margin:0!important;padding:.42rem .45rem calc(.42rem + env(safe-area-inset-bottom,0px))!important;border-radius:0!important}
  html:root body.mobile-chat-open .messenger-chat-menu{position:fixed!important;z-index:1090!important;right:.45rem!important;bottom:calc(.45rem + env(safe-area-inset-bottom,0px))!important;left:.45rem!important;top:auto!important;width:auto!important;max-height:min(76dvh,35rem)!important;overflow-y:auto!important;border-radius:1.15rem!important;transform:none!important}
  html:root body.mobile-chat-open .messenger-chat-menu button{min-height:3rem!important}
  html:root body.mobile-chat-open .messenger-room-panel-layer{position:fixed!important;z-index:1100!important;inset:0!important;align-items:stretch!important;padding:0!important;background:var(--msg-bg,var(--vmesta-ui-bg,#f4f7fb))!important;backdrop-filter:none!important}
  html:root body.mobile-chat-open .messenger-room-panel-layer .messenger-room-panel{top:0!important;right:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:calc(.65rem + env(safe-area-inset-top,0px)) .65rem calc(.65rem + env(safe-area-inset-bottom,0px))!important;border:0!important;border-radius:0!important}
  body.messenger-recording-gesture-active{user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}
  body.messenger-recording-gesture-active .messenger-blank-context-menu{display:none!important}

  /* Эмодзи и стикеры заменяют клавиатурную область, а не кладутся поверх неё. */
  html:root body .emoji-picker-expanded,
  html:root body .emoji-picker[popover]:popover-open,
  html:root body .emoji-picker.emoji-picker-fallback:not(.hidden){position:fixed!important;z-index:2147483000!important;top:auto!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;max-width:none!important;height:min(44dvh,22rem)!important;max-height:none!important;margin:0!important;border:0!important;border-radius:1.2rem 1.2rem 0 0!important;padding:.55rem!important;transform:none!important;box-shadow:0 -1rem 3rem rgb(3 10 25/.35)!important;overscroll-behavior:contain}
  html:root body .emoji-picker-grid{min-height:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;overflow-y:auto!important}
  html:root body.mobile-input-surface-open .messenger-composer{padding-bottom:calc(min(44dvh,22rem) + .45rem)!important}
  html:root body.mobile-input-surface-open .messenger-message-stream{padding-bottom:.4rem!important}

  /* Диалоги и подробности профиля раскрываются как самостоятельные экраны. */
  html:root body #about-modal{z-index:22000!important;align-items:stretch!important;justify-content:stretch!important;padding:0!important}
  html:root body #about-modal>div{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important}
  html:root body #about-modal .profile-origin-card{border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 18%,transparent)!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 8%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important}
  html:root body #about-modal .profile-origin-card :is(span,strong,small){color:inherit!important;opacity:1!important}
  html:root body #post-viewer{padding:.4rem!important}
  html:root body #post-viewer #post-viewer-panel{height:calc(100dvh - .8rem)!important;border:0!important;border-radius:1.2rem!important;box-shadow:0 1rem 3rem rgb(3 10 25/.35)!important}
  html:root body .post-share-modal{align-items:stretch!important;padding:.45rem!important}
  html:root body .post-share-modal>section{width:100%!important;max-width:none!important;height:calc(100dvh - .9rem)!important;max-height:none!important;border:0!important;border-radius:1.2rem!important;overflow:hidden!important}
  html:root body .post-share-modal .post-share-chat-list{min-height:0!important;overflow-y:auto!important}
  html:root body :is(.messenger-folder-modal,.messenger-new-modal,.messenger-forward-modal,.messenger-room-settings-modal,.messenger-room-analytics-modal)>section{width:calc(100vw - .8rem)!important;max-width:none!important;max-height:calc(100dvh - .8rem)!important;border-radius:1.15rem!important}
}

@media(max-width:390px){
  html:root body #site-header #top-profile-shortcut{max-width:6.25rem!important;flex-basis:6.25rem}
  html:root body #top-user-name{max-width:3.5rem;font-size:.65rem!important}
  html:root body #site-header :is(#gifts-button,#notifications-button){width:2.15rem!important;height:2.15rem!important;min-width:2.15rem!important}
  .mobile-bottom-navigation>button.is-active{min-width:4rem!important;padding-inline:.42rem!important}
  .mobile-bottom-label{font-size:.58rem!important}
  html:root body #profile-tabs-container button{padding-inline:.42rem!important}
  html:root body #profile-tabs-container button span{font-size:.6rem!important}
}

@media (prefers-reduced-motion: reduce) and (max-width: 0px){
  html:root body #profile-left-rail,
  html:root body #profile-right-rail,
  .mobile-achievements-peek,
  .mobile-bottom-navigation{transition:none!important}
}

/* V2.0.98: приоритеты, которые должны идти после оболочки 2.0.97. */
@media(max-width:767px){
  html:root body #profile-tabs-container #profile-tabs{width:100%!important;min-width:0!important;overflow:visible!important}
  html:root body #profile-tabs-container .profile-tab-list{display:flex!important;width:100%!important;min-width:0!important;align-items:center!important;justify-content:space-between!important;gap:.18rem!important}
  html:root body #profile-tabs-container .tab-btn{display:flex!important;width:2.65rem!important;min-width:2.65rem!important;height:2.7rem!important;flex:0 1 2.65rem!important;align-items:center!important;justify-content:center!important;gap:0!important;padding:0!important}
  html:root body #profile-tabs-container .tab-btn.hidden{display:none!important}
  html:root body #profile-tabs-container .profile-tab-label{max-width:0!important;overflow:hidden!important;font-size:.64rem!important;opacity:0!important;transform:translateX(-.2rem);white-space:nowrap!important}
  html:root body #profile-tabs-container .tab-btn:is(.active-tab,.font-bold),
  html:root body:has(#about-modal:not(.hidden)) #profile-tabs-container #about-profile-button{width:auto!important;min-width:4.9rem!important;flex:1 1 7rem!important;gap:.4rem!important;padding:0 .68rem!important}
  html:root body #profile-tabs-container .tab-btn:is(.active-tab,.font-bold) .profile-tab-label,
  html:root body:has(#about-modal:not(.hidden)) #profile-tabs-container #about-profile-button .profile-tab-label{max-width:7.5rem!important;opacity:1!important;transform:none!important}

  html:root body #profile-left-rail #profile-sidebar-shell{display:grid!important;min-height:0!important;grid-template-columns:6.6rem minmax(0,1fr)!important;grid-auto-rows:max-content!important;align-content:start!important;align-items:start!important;gap:.55rem .6rem!important;padding:.1rem!important}
  html:root body #profile-left-rail #profile-avatar-card{grid-column:1!important;width:6.6rem!important;max-width:6.6rem!important;margin:0!important}
  html:root body #profile-left-rail .mobile-drawer-utility{display:grid!important;grid-column:2!important;align-content:start!important;gap:.55rem!important;min-width:0!important;padding:.15rem 0!important}
  html:root body #profile-left-rail #profile-sidebar-shell>:not(#profile-avatar-card):not(.mobile-drawer-utility){grid-column:1/-1!important;width:100%!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item,
  html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:3.15rem!important}

  .mobile-achievements-peek{top:43dvh!important;display:grid!important;width:2.15rem!important;height:4.25rem!important}
  .mobile-achievements-peek svg{width:1.05rem!important;height:1.05rem!important}
  html:root body.messages-route :is(.mobile-profile-peek,.mobile-achievements-peek){display:none!important}

  html:root body.mobile-chat-open .messenger-message{width:100%!important;max-width:none!important}
  html:root body.mobile-chat-open .messenger-bubble{max-width:min(92%,38rem)!important}
  html:root body.mobile-chat-open .messenger-call-history-card{width:min(92%,38rem)!important;max-width:none!important}
}

@media(max-width:390px){
  html:root body #profile-left-rail #profile-sidebar-shell{grid-template-columns:6.05rem minmax(0,1fr)!important;gap:.48rem!important}
  html:root body #profile-left-rail #profile-avatar-card{width:6.05rem!important;max-width:6.05rem!important}
  html:root body #profile-tabs-container .tab-btn{width:2.35rem!important;min-width:2.35rem!important;flex-basis:2.35rem!important}
  html:root body #profile-tabs-container .tab-btn:is(.active-tab,.font-bold),
  html:root body:has(#about-modal:not(.hidden)) #profile-tabs-container #about-profile-button{min-width:4.25rem!important;padding-inline:.48rem!important}
  html:root body #profile-tabs-container .profile-tab-label{font-size:.58rem!important}
}

/* V2.0.101 absolute final overrides. */
html:root body :is(.post-item,.space-post,.profile-post-card,.post-viewer-card,.publication-card,.post-detail-card,[data-post-card],#post-viewer-panel){border:0!important;outline:0!important;box-shadow:none!important}
html:root body :is(.vmesta-identity-trigger,.vmesta-identity-menu,.vmesta-identity-option,.messenger-sender-identity-trigger,.messenger-sender-identity-menu){border:0!important;outline:0!important;box-shadow:none!important}
@media(max-width:767px){
  html:root body #profile-left-rail{top:0!important;bottom:0!important;height:100dvh!important;padding:env(safe-area-inset-top,0px) .62rem env(safe-area-inset-bottom,0px)!important;border-radius:0!important}
  html:root body #profile-left-rail .mobile-drawer-header{top:0!important;min-height:4.2rem!important;margin:0 -.62rem .4rem!important;padding:.42rem .72rem .5rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item,html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:3.65rem!important;gap:.82rem!important;padding:.72rem .82rem!important;font-size:.86rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item>svg,html:root body #profile-left-rail .profile-sidebar-more-toggle>svg:first-child{width:1.42rem!important;height:1.42rem!important;min-width:1.42rem!important}
  html:root body #profile-left-rail #nav-my{position:relative!important;padding-right:3.45rem!important;overflow:visible!important}
  html:root body #profile-left-rail .top-account-switch-menu.is-drawer-origin{position:absolute!important;z-index:80!important;top:calc(100% + .4rem)!important;right:0!important;bottom:auto!important;left:0!important;width:100%!important;max-height:min(48dvh,24rem)!important;margin:0!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{min-height:3.5rem!important;padding:.68rem .72rem!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important;font-size:.82rem!important;opacity:1!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu svg{width:1.35rem!important;height:1.35rem!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu small{color:var(--vmesta-ui-muted,#8290a8)!important;opacity:1!important}
  html:root body #friends-list-container>button{width:2.5rem!important;height:2.5rem!important;justify-self:start!important}
  html:root body #friends-list-container>button>.user-online-dot{right:-.1rem!important;bottom:-.1rem!important}
  html:root body:not(:has(#profile-tabs-container.is-own-profile-context)) .mobile-achievements-contacts #profile-contact-links-bar{display:none!important}
  html:root body .mobile-achievements-peek{top:var(--vmesta-achievements-handle-top,43dvh)!important;touch-action:none!important}
  html:root body .messenger-attach-wrap:not(.is-open)>.messenger-attach-menu{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  html:root body .messenger-attach-wrap.is-open>.messenger-attach-menu,html:root body .messenger-attach-menu.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
  html:root body .messenger-recording-cancel{min-width:4.25rem!important;height:2.5rem!important;background:color-mix(in srgb,#ef4444 12%,var(--msg-panel,#fff))!important;color:#ef4444!important}
  html:root body .messenger-recording-send svg{width:1.18rem!important;height:1.18rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  html:root body .profile-family-editor-row{grid-template-columns:minmax(5.4rem,.68fr) minmax(0,1fr) 2.15rem!important;gap:.3rem!important}
  html:root body .profile-family-editor-row select{grid-column:auto!important;padding:0 .42rem!important;font-size:.54rem!important}
}

/* VMESTA v117 final cascade guard. */
html:root body .global-music-panel{border-radius:.82rem!important;overflow:hidden!important;clip-path:inset(0 round .82rem)!important}
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.is-track-only{padding:0!important;border:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important;overflow:visible!important}

/* Consolidated source: interests.css */
/* ------------[Файл «interests.css»]------------ // Содержит исходный код модуля «оформление интерфейса» и его связанные обработчики. Модуль: «карта исходного кода». Часть 1/1 */
/* ------------[Интересы и совпадение профиля]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 1/1 */
.profile-interests-card,
.interest-match-card {
  color: var(--adaptive-text, #0f172a);
  background: var(--adaptive-card-tint, var(--adaptive-surface, #fff));
  border: 1px solid var(--adaptive-border, #e2e8f0);
  box-shadow: 0 18px 45px -32px var(--adaptive-glow, rgba(37, 99, 235, .28));
}
.profile-interests-card { margin-top: 1rem; padding: 1rem; border-radius: 1rem; }
.profile-interests-heading,
.interest-match-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.profile-interests-heading { margin-bottom: .9rem; }
.profile-interests-heading h3,
.interest-match-heading h3 { margin: .15rem 0 0; color: var(--adaptive-text-strong, #0f172a); font-weight: 900; letter-spacing: -.02em; }
.profile-interests-heading h3 { font-size: .95rem; }
.profile-interests-kicker,
.interest-match-kicker { display: block; color: var(--adaptive-muted, #64748b); font-size: .56rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.profile-interests-total { display: grid; min-width: 2rem; height: 2rem; place-items: center; border-radius: .7rem; color: var(--color-dynamic, #3b82f6); background: var(--adaptive-surface-2, #f1f5f9); font-size: .68rem; font-weight: 900; }
.profile-interests-heading-actions { display: flex; align-items: center; gap: .4rem; }
.profile-interests-edit { display: none; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--adaptive-border, #e2e8f0); border-radius: .7rem; color: var(--adaptive-muted, #64748b); background: var(--adaptive-surface-2, #f1f5f9); cursor: pointer; transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease; }
.cover-editor-open .profile-interests-edit { display: grid; color: var(--color-dynamic, #3b82f6); border-color: color-mix(in srgb, var(--color-dynamic, #3b82f6), transparent 35%); }
.profile-interests-edit svg { width: .92rem; height: .92rem; fill: currentColor; }
.profile-interests-edit:hover { color: var(--color-dynamic, #3b82f6); border-color: var(--color-dynamic, #3b82f6); transform: translateY(-1px); }
.profile-interests-edit.is-active { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--color-dynamic, #3b82f6), var(--color-dynamic-secondary, #6366f1)); }
.profile-interest-group + .profile-interest-group { margin-top: 1rem; padding-top: .95rem; border-top: 1px solid var(--adaptive-border, #e2e8f0); }
.profile-interest-group-title { display: flex; align-items: center; gap: .35rem; margin-bottom: .55rem; color: var(--adaptive-muted, #64748b); font-size: .61rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.profile-interest-group-title span { display: inline-grid; min-width: 1.25rem; height: 1.25rem; place-items: center; border-radius: 999px; background: var(--adaptive-surface-2, #f1f5f9); color: var(--color-dynamic, #3b82f6); font-size: .58rem; }
.profile-interest-tags { display: flex; flex-wrap: wrap; gap: .38rem; min-height: 1.7rem; }
.profile-interest-tag { display: inline-flex; align-items: center; gap: .3rem; max-width: 100%; padding: .34rem .55rem; border: 1px solid var(--adaptive-border, #e2e8f0); border-radius: .65rem; color: var(--adaptive-text, #334155); background: var(--adaptive-surface-2, #f8fafc); font-size: .67rem; font-weight: 750; line-height: 1.2; overflow-wrap: anywhere; }
.profile-interest-tag > span:first-child { color: var(--color-dynamic, #3b82f6); font-weight: 1000; }
.profile-interest-tag--dislike > span:first-child { color: var(--color-dynamic-secondary, #6366f1); }
@supports (color: color-mix(in srgb, red, blue)) {
  .profile-interest-tag--like { border-color: color-mix(in srgb, var(--color-dynamic) 33%, var(--adaptive-border)); background: color-mix(in srgb, var(--color-dynamic) 10%, var(--adaptive-surface)); }
  .profile-interest-tag--dislike { border-color: color-mix(in srgb, var(--color-dynamic-secondary) 33%, var(--adaptive-border)); background: color-mix(in srgb, var(--color-dynamic-secondary) 9%, var(--adaptive-surface)); }
}
.profile-interest-remove { display: inline-grid; width: 1rem; height: 1rem; place-items: center; margin: -.12rem -.2rem -.12rem 0; border: 0; border-radius: 999px; color: var(--adaptive-muted, #64748b); background: transparent; cursor: pointer; font: inherit; line-height: 1; }
.profile-interest-remove:hover { color: white; background: var(--color-dynamic, #3b82f6); }
.profile-interests-empty { color: var(--adaptive-muted, #94a3b8); font-size: .68rem; font-style: italic; }
.profile-interest-add-row { display: grid; grid-template-columns: minmax(0, 1fr) 2rem; gap: .4rem; margin-top: .55rem; }
.profile-interest-input { min-width: 0; height: 2rem; padding: 0 .65rem; border: 1px solid var(--adaptive-border, #e2e8f0); border-radius: .65rem; outline: none; color: var(--adaptive-text, #0f172a); background: var(--adaptive-surface-2, #f8fafc); font-size: .65rem; }
.profile-interest-input:focus { border-color: var(--color-dynamic, #3b82f6); box-shadow: 0 0 0 3px var(--adaptive-glow, rgba(59, 130, 246, .14)); }
.profile-interest-input::placeholder { color: var(--adaptive-muted, #94a3b8); }
.profile-interest-add { display: grid; width: 2rem; height: 2rem; place-items: center; border: 0; border-radius: .65rem; color: white; background: linear-gradient(135deg, var(--color-dynamic, #3b82f6), var(--color-dynamic-secondary, #6366f1)); cursor: pointer; font-size: 1.05rem; font-weight: 800; }
.profile-interests-reminder,
.profile-interests-ready { display: flex; gap: .45rem; margin-top: 1rem; padding: .65rem .7rem; border-radius: .75rem; color: var(--adaptive-muted, #64748b); background: var(--adaptive-surface-2, #f1f5f9); font-size: .63rem; font-weight: 700; line-height: 1.45; }
.profile-interests-reminder > span:first-child,
.profile-interests-ready > span:first-child { flex: 0 0 auto; color: var(--color-dynamic, #3b82f6); }
.profile-interests-editor-actions { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: .45rem; margin-top: .65rem; }
.profile-interests-save,
.profile-interests-cancel { width: 100%; padding: .68rem .75rem; border: 1px solid var(--adaptive-border, #e2e8f0); border-radius: .75rem; color: var(--adaptive-muted, #64748b); background: var(--adaptive-surface-2, #f1f5f9); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.profile-interests-cancel { cursor: pointer; }
.profile-interests-cancel:hover { color: var(--adaptive-text-strong, #0f172a); border-color: var(--adaptive-muted, #64748b); }
.profile-interests-save.is-dirty { border-color: transparent; color: #fff; background: linear-gradient(135deg, var(--color-dynamic, #3b82f6), var(--color-dynamic-secondary, #6366f1)); box-shadow: 0 10px 24px -14px var(--color-dynamic, #3b82f6); cursor: pointer; }
.profile-interests-save:disabled { cursor: default; opacity: .78; }
.profile-interests-error { padding: .75rem; color: var(--adaptive-muted, #64748b); text-align: center; font-size: .7rem; font-weight: 800; }
.interest-match-card { position: relative; overflow: hidden; padding: 1.15rem 1.25rem; border-radius: 1.15rem; }
.interest-match-card::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--color-dynamic, #3b82f6), var(--color-dynamic-secondary, #6366f1)); content: ""; }
.interest-match-heading h3 { font-size: 1rem; }
.interest-match-percent,
.interest-match-badge { flex: 0 0 auto; color: var(--color-dynamic, #3b82f6); font-weight: 950; }
.interest-match-percent { font-size: 1.65rem; letter-spacing: -.05em; }
.interest-match-badge { padding: .42rem .65rem; border-radius: 999px; background: var(--adaptive-surface-2, #f1f5f9); font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
.interest-match-track { overflow: hidden; height: .48rem; margin-top: .9rem; border-radius: 999px; background: var(--adaptive-surface-2, #e2e8f0); }
.interest-match-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--color-dynamic, #3b82f6), var(--color-dynamic-secondary, #6366f1)); box-shadow: 0 0 18px var(--adaptive-glow, rgba(59, 130, 246, .3)); transition: width .65s ease; }
.interest-match-summary,
.interest-match-counts { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin-top: .75rem; color: var(--adaptive-muted, #64748b); font-size: .68rem; font-weight: 700; }
.interest-match-summary b { color: var(--adaptive-text-strong, #0f172a); }
.interest-match-card--empty p { margin: .72rem 0 0; color: var(--adaptive-muted, #64748b); font-size: .72rem; line-height: 1.5; }
.interest-match-counts span { padding: .25rem .45rem; border-radius: .45rem; background: var(--adaptive-surface-2, #f1f5f9); font-size: .6rem; }
@media (max-width: 640px) {
  .interest-match-card { padding: 1rem; }
  .interest-match-heading { align-items: center; }
  .interest-match-badge { max-width: 9rem; text-align: center; line-height: 1.3; }
  .interest-match-percent { font-size: 1.35rem; }
}

/* Consolidated source: no-outlines.css */
/* ------------[Файл «no-outlines.css»]------------ // Содержит исходный код модуля «оформление интерфейса» и его связанные обработчики. Модуль: «карта исходного кода». Часть 1/1 */
/* Временный нулевой слой: никаких обводок, колец и теней на поверхности UI.
   Границы кнопок будут добавлены отдельным, согласованным проходом. */
html :where(*, *::before, *::after) {
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Некоторые контейнеры имитировали рамку градиентом или вложенным слоем. */
html :is(.post-item, [data-post-card], .shared-post-card, .space-post,
    .space-intro-card, .space-composer, .space-switchboard, .space-tabs,
    .space-news-strip, .space-side-card, .space-list-panel, .spaces-index-card,
    .space-profile-photos-panel, .space-profile-showcase-card,
    .space-about-panel, .space-about-card, .space-manage-panel,
    .space-mini-modal, .space-create-modal, .space-showcase-editor-modal,
    .profile-space-card, .achievement-sidebar-card, .profile-interests-card,
    .interest-match-card, .messenger-shell, .messenger-dialogs-panel,
    .messenger-conversation, .messenger-side-panel, #profile-tabs-container,
    #profile-left-rail, #top-spaces-dropdown, #post-viewer-panel,
    #viewer-sidebar, #viewer-comments-block, #viewer-comments-list,
    .comment-node, .comment-form-container, .comment-dropdown) {
    background-image: none !important;
    box-shadow: none !important;
}

/* Старые правила темы содержат ID внутри :is() и поэтому могут победить
   общий :where()-сброс. Крупные поверхности фиксируем тем же приоритетом,
   без наблюдателя DOM и без повторной перерисовки после загрузки. */
html:root body :is(#profile-tabs-container, #profile-left-rail,
    #profile-interest-match-placeholder, .profile-publisher-hub,
    .profile-post-composer, .post-item, [data-post-card],
    .achievement-sidebar-card, .profile-interests-card, .interest-match-card,
    .space-switchboard, .space-tabs, .space-news-strip, .space-composer, .spaces-index-card,
    .messenger-shell, .messenger-dialogs-panel, .messenger-conversation,
    .messenger-side-panel, .messenger-side-section) {
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Единственное намеренное свечение — опасное действие выхода. */
html:root body #settings-dropdown #menu-main-content > button[onclick*="logout"]:hover {
    box-shadow: 0 0 1rem color-mix(in srgb, #ef4444 24%, transparent) !important;
}

/* Активная вкладка профиля отмечается заливкой и цветом, без синего кольца. */
html:root #profile-tabs-container .tab-btn,
html:root #profile-tabs-container .tab-btn:is(:hover, :focus, :focus-visible, .active-tab, .text-blue-500, .text-blue-600) {
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Вкладки «Все» и «Друзья онлайн» различаются заливкой, а не рамками. */
html:root #friends-modal .friends-modal-tabs,
html:root #friends-modal :is(#btn-tab-all, #btn-tab-online),
html:root #friends-modal :is(#btn-tab-all, #btn-tab-online):is(:hover, :focus, :focus-visible, .is-active) {
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Consolidated source: theme-system.css */
/* ------------[Файл «theme-system.css»]------------ // Содержит исходный код модуля «оформление интерфейса» и его связанные обработчики. Модуль: «карта исходного кода». Часть 1/1 */
/*
 * VMESTA semantic theme system
 *
 * Ровно 15 цветовых ролей на режим:
 *  5 поверхностей, 5 уровней текста, 5 системных цветов.
 * Компоненты ниже используют только эти роли и не создают свои палитры.
 */

/* Стандартная дневная тема. */
:root {
    --theme-surface-page: rgb(244 247 251);
    --theme-surface-panel: rgb(255 255 255);
    --theme-surface-nested: rgb(235 241 248);
    --theme-surface-control: rgb(229 238 252);
    --theme-surface-active: rgb(215 229 247);

    --theme-text-primary: rgb(32 79 145);
    --theme-text-secondary: rgb(68 104 154);
    --theme-text-muted: rgb(105 132 170);
    --theme-text-disabled: rgb(157 174 198);
    --theme-text-inverse: rgb(255 255 255);

    --theme-accent: var(--color-dynamic, #2563eb);
    --theme-divider: rgb(210 220 233);
    --theme-success: #16a36a;
    --theme-warning: #d68a19;
    --theme-danger: #dc3545;
}

/* Стандартная ночная тема: роли те же, меняются только значения. */
html.dark {
    --theme-surface-page: rgb(10 15 24);
    --theme-surface-panel: rgb(20 29 43);
    --theme-surface-nested: rgb(29 40 56);
    --theme-surface-control: rgb(35 51 73);
    --theme-surface-active: rgb(43 62 87);

    --theme-text-primary: rgb(232 238 246);
    --theme-text-secondary: rgb(183 195 211);
    --theme-text-muted: rgb(132 148 170);
    --theme-text-disabled: rgb(88 104 126);
    --theme-text-inverse: rgb(10 15 24);

    --theme-divider: rgb(52 68 89);
    --theme-success: #35c987;
    --theme-warning: #efb04f;
    --theme-danger: #ff6b75;
}

/* Полная цветная тема, включая Monet: входная палитра задаёт только основу,
   а все пять уровней строятся здесь одинаково. */
html.adaptive-theme {
    --theme-surface-page: var(--adaptive-background);
    --theme-surface-panel: var(--adaptive-surface);
    --theme-surface-nested: var(--adaptive-surface-2);
    --theme-surface-control: var(--adaptive-control-light, var(--adaptive-surface-2));
    --theme-surface-active: var(--adaptive-active-light, var(--adaptive-border));

    --theme-text-primary: color-mix(in srgb, #0f172a 90%, var(--theme-accent) 10%);
    --theme-text-secondary: color-mix(in srgb, #475569 91%, var(--theme-accent) 9%);
    --theme-text-muted: color-mix(in srgb, #64748b 89%, var(--theme-accent) 11%);
    --theme-text-disabled: color-mix(in srgb, var(--theme-text-muted) 52%, var(--theme-surface-panel) 48%);
    --theme-text-inverse: #ffffff;

    --theme-divider: var(--adaptive-border);
}

html.adaptive-theme.dark {
    --theme-surface-control: var(--adaptive-control-dark, var(--adaptive-surface-2));
    --theme-surface-active: var(--adaptive-active-dark, var(--adaptive-border));

    --theme-text-primary: color-mix(in srgb, #f8fafc 93%, var(--theme-accent) 7%);
    --theme-text-secondary: color-mix(in srgb, #cbd5e1 90%, var(--theme-accent) 10%);
    --theme-text-muted: color-mix(in srgb, #94a3b8 89%, var(--theme-accent) 11%);
    --theme-text-disabled: color-mix(in srgb, var(--theme-text-muted) 48%, var(--theme-surface-panel) 52%);
    --theme-text-inverse: var(--theme-surface-page);
}

/* Мост для старых компонентов. Их прежние имена теперь указывают на одну
   семантическую шкалу и больше не образуют независимые палитры. */
html:root {
    --vmesta-ui-primary: var(--theme-accent);
    --vmesta-ui-ink: var(--theme-text-primary);
    --vmesta-ui-muted: var(--theme-text-muted);
    --vmesta-ui-panel: var(--theme-surface-panel);
    --vmesta-ui-soft: var(--theme-surface-nested);
    --vmesta-unified-surface: var(--theme-surface-panel);
    --vmesta-unified-inner: var(--theme-surface-nested);
    --vmesta-unified-strong: var(--theme-surface-control);
    --vmesta-unified-ink: var(--theme-text-primary);
    --vmesta-unified-muted: var(--theme-text-muted);
    --vmesta-unified-line: var(--theme-divider);
    --vmesta-post-surface: var(--theme-surface-panel);
    --vmesta-post-surface-hover: var(--theme-surface-panel);
    --vmesta-post-inner: var(--theme-surface-nested);
    --vmesta-post-inner-strong: var(--theme-surface-control);
    --vmesta-post-line: var(--theme-divider);
    --vmesta-rail-surface: var(--theme-surface-panel);
    --vmesta-feed-surface: var(--theme-surface-panel);
    --vmesta-feed-active: var(--theme-surface-control);
    --vmesta-full-panel: var(--theme-surface-panel);
    --vmesta-full-panel-soft: var(--theme-surface-nested);
    --vmesta-menu-surface: var(--theme-surface-nested);
    --vmesta-messages-surface: var(--theme-surface-panel);
    --vmesta-left-reference-surface: var(--theme-surface-panel);
}

html:root.adaptive-theme {
    --vmesta-left-reference-surface: var(--adaptive-card-tint, var(--theme-surface-panel));
}

html:root:not(.adaptive-theme) {
    --standard-panel: var(--theme-surface-panel);
    --standard-panel-soft: var(--theme-surface-nested);
    --standard-active: var(--theme-surface-control);
    --standard-line: var(--theme-divider);
    --standard-text-active: var(--theme-text-primary);
    --standard-text-secondary: var(--theme-text-secondary);
    --standard-text-passive: var(--theme-text-muted);
}

html:root.adaptive-theme {
    --adaptive-ui-panel: var(--theme-surface-panel);
    --adaptive-ui-active: var(--theme-surface-control);
    --adaptive-ui-line: var(--theme-divider);
    --adaptive-ui-line-strong: var(--theme-accent);
    --adaptive-text-active: var(--theme-text-primary);
    --adaptive-text-secondary: var(--theme-text-secondary);
    --adaptive-text-passive: var(--theme-text-muted);
    --adaptive-text-strong: var(--theme-text-primary);
    --adaptive-text-muted: var(--theme-text-muted);
}

/* Уровень 1: фон маршрута. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body,
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body #content-area {
    background-color: var(--theme-surface-page) !important;
    color: var(--theme-text-primary) !important;
}

/* Уровень 2: несущие панели. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    #site-header,
    #profile-tabs-container,
    #profile-left-rail nav,
    #profile-left-rail #profile-friends-open-button,
    #profile-left-rail .space-left-photos,
    #profile-right-rail .achievement-sidebar-card,
    #profile-right-rail .profile-interests-card,
    #profile-right-rail .interest-match-card,
    .post-item,
    .space-post,
    .space-switchboard,
    .space-composer,
    .space-side-card,
    .space-list-panel,
    .space-intro-card,
    .spaces-index-toolbar,
    .spaces-index-card,
    #post-viewer-panel,
    #viewer-sidebar,
    #viewer-scroll-region,
    #viewer-post-header,
    #viewer-post-summary,
    #viewer-comments-block,
    #viewer-comments-list,
    .media-viewer-post-slot,
    #space-about-panel,
    #space-about-panel .space-about-head,
    #space-about-panel .space-about-body,
    #space-about-panel .space-about-footer,
    #space-about-panel .space-about-identity-bar,
    .achievement-sidebar-card,
    .achievements-dialog,
    .achievement-showcase-dialog,
    .achievements-dialog-head,
    .achievements-scope-tabs,
    .achievements-dialog-tabs,
    .achievements-dialog-body,
    .achievement-showcase-dialog-body,
    .achievements-dialog-footer,
    .theme-catalog-dialog,
    .messenger-shell,
    .messenger-dialogs-panel,
    .messenger-conversation,
    .messenger-side-section,
    .messenger-main-header,
    .messenger-conversation-header,
    .messenger-message-stream,
    .messenger-loading
) {
    border-color: transparent !important;
    background: var(--theme-surface-panel) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* Старое окно «О пространстве» использует ID в селекторе. Этот мост
   направляет и его внутренние карточки на общий третий уровень. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #space-about-panel :is(
        .space-about-card,
        .space-about-quote,
        .space-about-longform,
        .space-about-contact-section,
        .profile-spaces-section
    ) {
    border-color: transparent !important;
    background: var(--theme-surface-nested) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(.post-item, .space-post, .spaces-index-card):hover {
    border-color: transparent !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
}

/* Уровень 3: содержимое внутри несущей панели. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .post-attachment-card,
    .post-file-selection-card,
    .post-media-grid,
    .post-hashtag-chip,
    .space-post-file,
    .space-about-card,
    .space-about-quote,
    .space-about-longform,
    .space-about-contact-section,
    .profile-spaces-section,
    .achievement-row,
    .achievement-task,
    .achievement-badge,
    .achievement-showcase-item,
    .achievement-scope-empty,
    .achievement-showcase-empty,
    .profile-interest-chip,
    .interest-match-card,
    .comment-node,
    .viewer-form-shell,
    .messenger-search,
    .messenger-chat-search,
    .messenger-composer,
    .messenger-pinned-panel,
    .messenger-inline-media-bar,
    .messenger-message.is-incoming .messenger-bubble,
    .messenger-bubble.is-poll,
    .messenger-poll-option,
    .global-search-result-section,
    .global-search-side,
    .theme-catalog-section
) {
    border-color: transparent !important;
    background: var(--theme-surface-nested) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* Уровень 4: поля, кнопки и локальные управляющие поверхности. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    #global-search,
    .spaces-index-search,
    .spaces-index-search input,
    .messenger-chat-search input,
    .messenger-chat-search button,
    .messenger-composer textarea,
    #space-about-panel input,
    #space-about-panel textarea,
    #space-about-panel select,
    .achievements-scope-tabs button,
    .achievements-dialog-tabs button,
    .publisher-search-button,
    .publisher-create-button,
    .space-tabs button,
    .theme-scope-switch button,
    .theme-builder-grid label,
    .messenger-chat-menu,
    .messenger-message-menu,
    .messenger-attach-menu,
    .messenger-blank-context-menu,
    .notification-settings-menu,
    .comment-dropdown,
    .post-dropdown
) {
    border-color: transparent !important;
    background: var(--theme-surface-control) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* Уровень 5: выбранное, активное и наведённое. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .nav-item[aria-current="page"],
    .nav-item.bg-blue-50,
    .tab-btn.active-tab,
    .space-tabs button.is-active,
    .spaces-index-scope button.is-active,
    .achievements-scope-tabs button.is-active,
    .achievements-dialog-tabs button.is-active,
    .messenger-chat-row.is-active,
    .messenger-message.is-outgoing .messenger-bubble,
    .messenger-poll-option.is-selected
) {
    border-color: transparent !important;
    background: var(--theme-surface-active) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .nav-item,
    .tab-btn,
    .messenger-chat-row,
    .comment-dropdown button,
    .post-dropdown button
):hover {
    background-color: var(--theme-surface-active) !important;
    color: var(--theme-text-primary) !important;
}

/* Пять уровней текста. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    h1, h2, h3, h4,
    strong,
    .post-author,
    .post-author-link,
    .space-post-title,
    .space-card-title,
    .item-name,
    .comment-author-link
) {
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    [class*="text-gray-700"], [class*="text-gray-600"], [class*="text-gray-500"],
    [class*="text-slate-700"], [class*="text-slate-600"], [class*="text-slate-500"],
    .post-date, .space-post-date
) {
    color: var(--theme-text-secondary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    [class*="text-gray-400"], [class*="text-gray-300"],
    [class*="text-slate-400"], [class*="text-slate-300"],
    small, time
) {
    color: var(--theme-text-muted) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(:disabled, [aria-disabled="true"], .is-disabled) {
    color: var(--theme-text-disabled) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(input, textarea)::placeholder {
    color: var(--theme-text-muted) !important;
    opacity: 1 !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(.btn-publish, .space-primary-button, .load-more-posts) {
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body #theme-monet-apply {
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
}

/* Единственный цвет линий используется только как разделитель, не как
   обводка карточек. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .post-actions,
    .space-post-footer,
    .viewer-comments-head,
    .theme-catalog-head,
    .theme-catalog-footer
) {
    border-color: var(--theme-divider) !important;
}

/* Окно сообщений и редактор разделяются уровнями фона без контуров. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(#messages-root, #messages-side-root) {
    --msg-bg: var(--theme-surface-page);
    --msg-panel: var(--theme-surface-panel);
    --msg-panel-strong: var(--theme-surface-control);
    --msg-line: transparent;
    --msg-text: var(--theme-text-primary);
    --msg-muted: var(--theme-text-muted);
    --msg-accent: var(--theme-accent);
    --msg-menu-surface: var(--theme-surface-control);
    --msg-menu-soft: var(--theme-surface-nested);
    --msg-menu-active: var(--theme-surface-active);
    --msg-search-shell-surface: var(--theme-surface-panel);
    --msg-search-field-surface: var(--theme-surface-control);
    --msg-composer-surface: var(--theme-surface-nested);
    --msg-poll-surface: var(--theme-surface-nested);
    --msg-poll-option-surface: var(--theme-surface-control);
    --msg-poll-option-active: var(--theme-surface-active);
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(#messages-root, #messages-side-root),
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(#messages-root, #messages-side-root) :is(
    .messenger-shell,
    .messenger-dialogs-panel,
    .messenger-conversation,
    .messenger-side-panel,
    .messenger-side-section,
    .messenger-main-header,
    .messenger-conversation-header,
    .messenger-message-stream,
    .messenger-search,
    .messenger-chat-search,
    .messenger-composer
) {
    border: 0 !important;
    border-color: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Статусы не входят в основную шкалу поверхностей. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(.text-green-500, .text-green-600, .is-success) { color: var(--theme-success) !important; }
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(.text-amber-500, .text-yellow-500, .is-warning) { color: var(--theme-warning) !important; }
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(.text-red-500, .text-red-600, .is-danger) { color: var(--theme-danger) !important; }

/* Иконки интерфейса используют уже существующие роли палитры. Значок
   действия окрашен акцентом темы, а подпись рядом остаётся основным текстом. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    #site-header button,
    #site-header a,
    #profile-tabs-container .tab-btn,
    #profile-left-rail .nav-item,
    .profile-contact-link,
    .profile-contact-links-bar a,
    .publisher-search-button,
    .publisher-create-button,
    .space-tabs button,
    .spaces-index-search,
    .messenger-search,
    .messenger-chat-search,
    .messenger-composer,
    .messenger-room-action,
    .messenger-header-action,
    .settings-menu-icon
) :is(svg, .profile-tab-icon) {
    color: var(--theme-accent) !important;
    stroke: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #profile-left-rail .nav-item svg.fill-blue-600 {
    fill: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #profile-left-rail .nav-item svg.fill-none {
    fill: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    #profile-tabs-container .profile-tab-label,
    #profile-left-rail .nav-item span,
    .publisher-search-button span,
    .publisher-create-button span
) {
    color: var(--theme-text-primary) !important;
}

/* Пассивные действия публикации спокойнее основного текста; выбранное
   действие снова использует акцент и поэтому не путается с подписью. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .post-actions,
    .space-post-footer,
    #viewer-post-actions
) button {
    color: var(--theme-text-secondary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .post-actions,
    .space-post-footer,
    #viewer-post-actions
) button:is(:hover, .active, [aria-pressed="true"]) {
    color: var(--theme-accent) !important;
}

/* Цвет награды — это идентификатор типа достижения, а не шестнадцатый
   уровень темы. Поверхности и подписи остаются в общей 15-ролевой палитре,
   но сердце, комментарий, контакт и остальные награды сохраняют свой цвет. */
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-likes { --achievement-kind-color: #ec4899; }
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-comments { --achievement-kind-color: #06b6d4; }
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-messages,
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-signal { --achievement-kind-color: #0ea5e9; }
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-posts { --achievement-kind-color: #3b82f6; }
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-views { --achievement-kind-color: #6366f1; }
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-spaces { --achievement-kind-color: #14b8a6; }
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-verified { --achievement-kind-color: #10b981; }
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-friends,
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-members,
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-zodiac,
html:root body :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon).achievement-kind-star { --achievement-kind-color: #8b5cf6; }

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon)[class*="achievement-kind-"] {
    color: var(--achievement-kind-color) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .achievement-showcase-item[class*="achievement-kind-"] > span,
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .achievement-badge[class*="achievement-kind-"] > span,
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .achievement-task-icon[class*="achievement-kind-"] {
    background: color-mix(in srgb, var(--achievement-kind-color) 16%, var(--theme-surface-nested)) !important;
    color: var(--achievement-kind-color) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(.achievement-showcase-item, .achievement-badge, .achievement-task-icon)[class*="achievement-kind-"] :is(svg, svg *) {
    color: var(--achievement-kind-color) !important;
    stroke: currentColor !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .achievement-showcase-item[class*="achievement-kind-"] > small,
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .achievement-badge[class*="achievement-kind-"] > b {
    color: var(--achievement-kind-color) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .achievement-showcase-item[class*="achievement-kind-"] > strong {
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .achievement-badge[class*="achievement-kind-"] > i:not(.is-lock) {
    background: var(--achievement-kind-color) !important;
    color: var(--theme-text-inverse) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(.achievement-row.is-locked .achievement-badge, .achievement-badge.is-locked) {
    --achievement-kind-color: var(--theme-text-disabled);
}

/* ------------[Геометрия и недостающие семейства компонентов]------------ // Оформляет связанный блок интерфейса.
   Окна управления, каталог пространств и фотопросмотрщик используют те же
   уровни 2–5. Здесь нет новых цветов — только маршрутизация на 15 ролей. Модуль: «оформление интерфейса». Часть 1/18 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-manage-panel,
    .space-role-picker-modal > section,
    .spaces-index-toolbar,
    .media-viewer-post-slot,
    #media-viewer .media-viewer-post-slot #viewer-sidebar,
    #media-viewer .media-viewer-post-slot #viewer-scroll-region,
    #media-viewer .media-viewer-post-slot #viewer-post-header,
    #media-viewer .media-viewer-post-slot #viewer-post-summary,
    #media-viewer .media-viewer-post-slot #viewer-comments-block,
    #media-viewer .media-viewer-post-slot #viewer-comments-list,
    #media-viewer .media-viewer-post-slot .viewer-comments-head,
    #media-viewer .media-viewer-post-slot #viewer-form-container,
    #media-viewer .media-viewer-post-slot .viewer-form-shell
) {
    border-color: transparent !important;
    background: var(--theme-surface-panel) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-role-visibility,
    .space-team-section,
    #media-viewer .media-viewer-post-slot .comment-node,
    #media-viewer .media-viewer-post-slot .comment-form-container,
    #media-viewer .media-viewer-post-slot #viewer-comments-count
) {
    border-color: transparent !important;
    background: var(--theme-surface-nested) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-role-visibility-options button,
    .space-team-person,
    .space-role-picker-list > button,
    .spaces-index-view,
    .spaces-index-view button
) {
    border-color: transparent !important;
    background: var(--theme-surface-control) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-role-visibility-options button.is-active,
    .space-role-picker-list > button:hover,
    .spaces-index-view button:is(.is-active, :hover)
) {
    border-color: transparent !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .spaces-index-scope {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .spaces-index-scope button {
    border: 0 !important;
    background: transparent !important;
    color: var(--theme-text-secondary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .spaces-index-scope button:is(.is-active, :hover) {
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .spaces-index-scope button span {
    border: 0 !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

/* Внутренние обёртки веток комментариев прозрачны: цвет принадлежит списку
   и самой карточке комментария, а не случайной промежуточной обёртке. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #media-viewer .media-viewer-post-slot :is(.root-wrapper, .replies-group, .replies-inner-list) {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Одинаковое скругление несущих карточек и внутренних полей. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-manage-panel,
    .space-role-picker-modal > section,
    .spaces-index-toolbar,
    .achievement-sidebar-card,
    .profile-interests-card,
    .media-viewer-post-slot,
    #media-viewer .media-viewer-post-slot #viewer-sidebar,
    .messenger-composer
) {
    border-radius: 1rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    #global-search,
    .search-wrapper,
    .spaces-index-search,
    .space-role-picker-search,
    .messenger-search,
    .messenger-chat-search,
    .messenger-room-member-search,
    .messenger-room-member-picker-search,
    .messenger-composer textarea
) {
    border: 0 !important;
    border-radius: .78rem !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    #global-search,
    .spaces-index-search,
    .space-role-picker-search,
    .messenger-search,
    .messenger-chat-search,
    .messenger-room-member-search,
    .messenger-room-member-picker-search
) {
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .spaces-index-search input,
    .space-role-picker-search input,
    .messenger-search input,
    .messenger-chat-search input,
    .messenger-room-member-search input,
    .messenger-room-member-picker-search input
) {
    border: 0 !important;
    background: transparent !important;
    color: var(--theme-text-primary) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-composer textarea {
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
}

/* Адресные правила не дают высокой специфичности старых ID-селекторов
   вернуть собственный фон поиску чата и комментариям фотопросмотрщика. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #messages-root .messenger-shell .messenger-chat-search.messenger-chat-search {
    border: 0 !important;
    border-radius: .78rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #space-role-picker-modal .space-role-picker-search {
    border: 0 !important;
    border-radius: .78rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #media-viewer .media-viewer-post-slot #viewer-sidebar #viewer-comments-list .comment-node,
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #media-viewer .media-viewer-post-slot #viewer-sidebar #viewer-form-container .comment-form-container {
    border-color: transparent !important;
    background: var(--theme-surface-nested) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-role-visibility,
    .space-team-section,
    .space-team-person,
    .achievement-showcase-item,
    #media-viewer .media-viewer-post-slot .comment-node,
    #media-viewer .media-viewer-post-slot .comment-form-container
) {
    border-radius: .78rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-manage-panel header strong,
    .space-role-visibility strong,
    .space-team-section > header span,
    .space-team-person strong,
    .space-role-picker-modal header strong,
    .space-role-picker-list strong,
    #media-viewer .media-viewer-post-slot .comment-node strong
) {
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    .space-role-visibility small,
    .space-role-visibility p,
    .space-team-person small,
    .space-team-edit-note,
    .space-team-grid > p,
    .space-role-picker-modal header span,
    .space-role-picker-list small,
    #media-viewer .media-viewer-post-slot .comment-node small
) {
    color: var(--theme-text-muted) !important;
}

/* Хвост сообщения остаётся видимым, но почти полностью заходит под пузырь и
   больше не выпирает отдельным прямоугольником у голосовых и опросов. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-incoming .messenger-bubble:not(.is-poll) {
    --message-shape-fill: var(--theme-surface-nested);
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-outgoing .messenger-bubble:not(.is-poll) {
    --message-shape-fill: var(--theme-surface-active);
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble > .messenger-bubble-tail {
    bottom: 0 !important;
    width: .78rem !important;
    height: .98rem !important;
    overflow: visible !important;
    color: var(--message-shape-fill, var(--theme-surface-nested)) !important;
    filter: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-outgoing .messenger-bubble > .messenger-bubble-tail {
    right: -.44rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-incoming .messenger-bubble > .messenger-bubble-tail {
    left: -.44rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble.is-poll > .messenger-bubble-tail {
    color: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble > .messenger-bubble-tail-fill {
    fill: currentColor !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble > .messenger-bubble-tail-line {
    display: none !important;
}

/* Ответ внутри сообщения всегда отделён акцентной линией. Цвет берётся из
   системной роли темы, а не из старой локальной палитры мессенджера. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble > .messenger-reply-quote {
    border: 0 !important;
    border-left: .2rem solid var(--theme-accent) !important;
    border-radius: .32rem .65rem .65rem .32rem !important;
    background: color-mix(in srgb, var(--theme-accent) 10%, transparent) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble > .messenger-reply-quote strong {
    color: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble > .messenger-reply-quote span {
    color: var(--theme-text-secondary) !important;
}

/* Голосовое с цитатой не получает служебный класс is-voice-note-only.
   Поэтому гасим старую отдельную подложку плеера непосредственно внутри
   пузыря: цитата, плеер и время снова воспринимаются одним сообщением. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble :is(.messenger-voice-note-list, .messenger-voice-note) {
    border-color: transparent !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble:has(> .messenger-reply-quote) > .messenger-reply-quote {
    margin: .02rem 0 .34rem !important;
}

/* Правая колонка — только раскладка. Фон рисуют её скруглённые секции,
   поэтому за ними больше не появляется квадратная подложка. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #messages-side-root .messenger-side-panel {
    border: 0 !important;
    border-radius: 1rem !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #messages-side-root .messenger-side-section {
    border-color: transparent !important;
    border-radius: 1rem !important;
    background: var(--theme-surface-panel) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* Поиск обязан отличаться от несущей панели во всех режимах. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(
    #global-search,
    .spaces-index-search,
    .space-role-picker-search,
    .messenger-search,
    .messenger-chat-search,
    .messenger-room-member-search,
    .messenger-room-member-picker-search
) {
    background: var(--theme-surface-control) !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 20%, var(--theme-divider)) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header #global-search {
    background: var(--theme-surface-control) !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 20%, var(--theme-divider)) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header #global-search:focus {
    background: var(--theme-surface-active) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 42%, var(--theme-divider)) !important;
}

/* Фото профиля получает тонкую рамку, а служебные значки располагаются
   внутри изображения и больше не теряются на фоне страницы. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #profile-avatar-card > div:first-child {
    border: 2px solid color-mix(in srgb, var(--theme-accent) 38%, var(--theme-divider)) !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: 0 .7rem 1.8rem color-mix(in srgb, var(--theme-text-primary) 18%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #profile-avatar-card > .profile-avatar-role-badge {
    top: .52rem !important;
    right: -.72rem !important;
    z-index: 25 !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #profile-avatar-card > .profile-avatar-verification-badge {
    top: .52rem !important;
    right: -.62rem !important;
    z-index: 25 !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #profile-avatar-card > .profile-avatar-verification-badge.is-below-role {
    top: 2.38rem !important;
}

/* Значки прав действительно сидят на линии рамки, а не закрывают лицо. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #profile-avatar-card {
    overflow: visible !important;
}

/* ------------[Единая узкая прокрутка]------------ // Оформляет связанный блок интерфейса.
   Один размер и один тематический цвет используются у документа, окон и
   внутренних списков. В отличие от старого правила сюда входит сам html,
   поэтому полоса главной страницы больше не выпадает из системы. Модуль: «оформление интерфейса». Часть 2/18 */
html:root,
html:root body,
html:root body * {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--theme-accent) 68%, var(--theme-text-muted)) transparent;
}

html:root::-webkit-scrollbar,
html:root body::-webkit-scrollbar,
html:root body *::-webkit-scrollbar {
    width: .34rem;
    height: .34rem;
}

html:root::-webkit-scrollbar-track,
html:root body::-webkit-scrollbar-track,
html:root body *::-webkit-scrollbar-track {
    border: 0 !important;
    background: transparent !important;
}

html:root::-webkit-scrollbar-thumb,
html:root body::-webkit-scrollbar-thumb,
html:root body *::-webkit-scrollbar-thumb {
    min-height: 1.8rem;
    border: 0 !important;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-accent) 68%, var(--theme-text-muted)) !important;
}

html:root::-webkit-scrollbar-thumb:hover,
html:root body::-webkit-scrollbar-thumb:hover,
html:root body *::-webkit-scrollbar-thumb:hover {
    background: var(--theme-accent) !important;
}

html:root::-webkit-scrollbar-button,
html:root body::-webkit-scrollbar-button,
html:root body *::-webkit-scrollbar-button {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

html:root::-webkit-scrollbar-corner,
html:root body::-webkit-scrollbar-corner,
html:root body *::-webkit-scrollbar-corner {
    background: transparent !important;
}

/* ------------[Редакторы статуса и истории]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 3/41 */
html:root body #about-modal .profile-field-editor {
    position: relative;
    width: 100%;
}

html:root body #about-modal .profile-field-editor > textarea {
    width: 100% !important;
    min-height: 4rem !important;
    padding: .58rem 5.15rem 2.6rem .68rem !important;
    resize: none !important;
    border: 0 !important;
    border-radius: .78rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 18%, var(--theme-divider)) !important;
}

html:root body #about-modal .profile-details-story-editor > textarea {
    min-height: 9rem !important;
}

html:root body #about-modal .profile-field-editor.is-expanded > textarea {
    min-height: min(24rem, 48vh) !important;
}

html:root body #about-modal .profile-field-editor-tools {
    position: absolute;
    right: .5rem;
    bottom: .5rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
}

html:root body #about-modal .profile-field-editor-tools > :is(.profile-field-editor-expand, .profile-details-story-emoji) {
    position: static !important;
    inset: auto !important;
    display: inline-grid !important;
    width: 1.82rem !important;
    height: 1.82rem !important;
    place-items: center;
    border: 0 !important;
    border-radius: .58rem !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

/* Контраст плеера и отправки задаётся одной парой системных ролей во всех
   темах: акцентная поверхность + инверсный знак. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(#global-music-play, .messenger-send-button) {
    border: 0 !important;
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-text-inverse) 28%, transparent),
                0 .38rem .9rem color-mix(in srgb, var(--theme-accent) 26%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #global-music-play :is(svg, svg *) {
    color: currentColor !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    opacity: 1 !important;
}

/* ------------[Редактирование сообщения]------------ // Оформляет связанный блок интерфейса.
   Заголовок редактирования — самостоятельная внутренняя карточка. Его
   радиус больше не обрезается прямоугольным фоном редактора. Модуль: «оформление интерфейса». Часть 3/18 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-composer:has(> .messenger-composer-reply.is-editing) {
    border: 0 !important;
    border-radius: 1rem !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-composer > .messenger-composer-reply.is-editing {
    width: auto !important;
    min-height: 2.7rem !important;
    margin: .06rem .08rem .32rem !important;
    padding: .48rem .58rem !important;
    border: 0 !important;
    border-radius: .78rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-composer > .messenger-composer-reply.is-editing > button {
    border-radius: .62rem !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

/* Поиск в шапке повторяет заполненное поле поиска сообщений: без рамки и
   с заметной смесью панели и акцента, одинаковой для всех палитр. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header #global-search {
    border: 0 !important;
    background: color-mix(in srgb, var(--theme-surface-panel) 76%, var(--theme-accent) 24%) !important;
    color: var(--theme-text-primary) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header #global-search:focus {
    background: color-mix(in srgb, var(--theme-surface-panel) 68%, var(--theme-accent) 32%) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header #global-search::placeholder {
    color: var(--theme-text-secondary) !important;
    opacity: 1 !important;
}

/* Поиск в шапке — полноценное поле, а не текст на фоне шапки. Для него
   используется готовый пятый уровень поверхности, поэтому форма остаётся
   заметной даже в палитрах, где цвет панели близок к акценту. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header #global-search {
    min-height: 2.35rem !important;
    padding: .55rem 1rem .55rem 2.5rem !important;
    border-radius: .88rem !important;
    background: var(--theme-surface-active) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header #global-search:focus {
    background: var(--theme-surface-control) !important;
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--theme-accent) 38%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header .search-wrapper > .group > div:first-of-type {
    color: var(--theme-accent) !important;
    pointer-events: none;
}

/* ------------[Управление пространством]------------ // Оформляет связанный блок интерфейса.
   Несущая панель больше не выглядит одним высоким цветным прямоугольником:
   тело прозрачно, а каждая группа команды занимает свой реальный уровень. Модуль: «оформление интерфейса». Часть 4/18 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel {
    display: grid !important;
    width: min(32rem, calc(100vw - 1.5rem)) !important;
    max-height: min(44rem, calc(100dvh - 5rem)) !important;
    grid-template-rows: auto minmax(0, auto) !important;
    overflow: hidden !important;
    border: 1px solid var(--theme-divider) !important;
    border-radius: 1.12rem !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: 0 1.25rem 3.2rem color-mix(in srgb, var(--theme-text-primary) 20%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel > header {
    min-height: 4.35rem !important;
    padding: .9rem 1rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--theme-divider) !important;
    border-radius: 0 !important;
    background: var(--theme-surface-active) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-manage-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: .24rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-manage-icon-button {
    border: 1px solid var(--theme-divider) !important;
    border-radius: .62rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-manage-icon-button:hover {
    background: var(--theme-surface-active) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-manage-icon-button.is-save {
    border-color: transparent !important;
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-manage-icon-button:is(.is-close, .is-back, .is-save) svg {
    width: 1rem !important;
    height: 1rem !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-body {
    display: grid !important;
    min-height: 0 !important;
    align-content: start !important;
    gap: .72rem !important;
    overflow-y: auto !important;
    padding: .8rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel :is(.space-role-visibility, .space-team-section) {
    min-height: 0 !important;
    align-content: start !important;
    gap: .58rem !important;
    padding: .72rem !important;
    border: 1px solid color-mix(in srgb, var(--space-team-role, var(--theme-accent)) 24%, var(--theme-divider)) !important;
    border-radius: .88rem !important;
    background: color-mix(in srgb, var(--theme-surface-panel) 87%, var(--space-team-role, var(--theme-accent)) 13%) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-role-visibility-options {
    gap: .42rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-role-visibility-options > button {
    min-height: 3.25rem !important;
    padding: .56rem .62rem !important;
    border: 1px solid var(--theme-divider) !important;
    border-radius: .7rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-secondary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-role-visibility-options > button.is-active {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-team-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: .42rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel .space-team-person {
    min-height: 2.8rem !important;
    padding: .42rem !important;
    border: 1px solid color-mix(in srgb, var(--space-team-role, var(--theme-accent)) 17%, var(--theme-divider)) !important;
    border-radius: .7rem !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

@media (max-width: 560px) {
    html:root body .space-manage-panel .space-team-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ------------[Плеер и отправка: видимые знаки]------------ // Оформляет связанный блок интерфейса.
   Фон кнопки и сама пиктограмма получают разные роли. Контурные SVG не
   превращаются в сплошную заливку, из-за которой знак пропадал. Модуль: «оформление интерфейса». Часть 5/18 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #global-music-play :is(svg, svg path) {
    display: block !important;
    color: var(--theme-text-inverse) !important;
    fill: var(--theme-text-inverse) !important;
    stroke: var(--theme-text-inverse) !important;
    stroke-width: 1.45 !important;
    opacity: 1 !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-send-button > :is(.messenger-icon, svg) {
    display: grid !important;
    width: 1.12rem !important;
    height: 1.12rem !important;
    place-items: center;
    color: var(--theme-text-inverse) !important;
    opacity: 1 !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-send-button :is(svg, svg path) {
    display: block !important;
    fill: none !important;
    stroke: var(--theme-text-inverse) !important;
    stroke-width: 2.15 !important;
    opacity: 1 !important;
}

/* ------------[Группы и каналы: единые уровни темы]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 7/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(#messages-root, #messages-side-root, .messenger-new-modal, .messenger-room-panel-layer) {
    --msg-bg: var(--theme-surface-page);
    --msg-panel: var(--theme-surface-panel);
    --msg-panel-strong: var(--theme-surface-control);
    --msg-menu-surface: var(--theme-surface-panel);
    --msg-menu-soft: var(--theme-surface-nested);
    --msg-menu-active: var(--theme-surface-active);
    --msg-line: var(--theme-divider);
    --msg-text: var(--theme-text-primary);
    --msg-muted: var(--theme-text-muted);
    --msg-accent: var(--theme-accent);
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1.15rem 3rem color-mix(in srgb, var(--theme-text-primary) 18%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel > header {
    border: 0 !important;
    border-radius: 1rem 1rem .82rem .82rem !important;
    background: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel > nav {
    margin-top: .45rem !important;
    padding: .42rem !important;
    border: 0 !important;
    border-radius: .82rem !important;
    background: var(--theme-surface-control) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel > nav button {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-secondary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel > nav button:is(.is-active, :hover) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel > section {
    margin-top: .45rem !important;
    border: 0 !important;
    border-radius: .82rem !important;
    background: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel :is(.messenger-room-panel-meta button, .messenger-room-panel-members article, .messenger-room-link-list article, .messenger-attachment-media, .messenger-attachment-file) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* ------------[Настройки комнаты: список разрешений]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 8/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-settings-modal > section {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-settings-form {
    background: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-controls-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-policy {
    overflow: hidden !important;
    border: 0 !important;
    border-radius: .9rem !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-policy-toggle {
    min-height: 3.5rem !important;
    padding: .72rem .8rem !important;
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-policy-content:not(.hidden) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: .35rem .75rem .75rem !important;
    background: var(--theme-surface-panel) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-policy-content > label:not(.messenger-room-slow-mode) {
    min-height: 3.35rem !important;
    padding: .56rem .18rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--theme-divider) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-slow-mode {
    display: grid !important;
    gap: .5rem !important;
    padding: .85rem .18rem .28rem !important;
    border: 0 !important;
    background: transparent !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-slow-mode > span {
    display: grid !important;
    gap: .12rem !important;
    color: var(--theme-text-primary) !important;
}

html:root body .messenger-room-slow-mode > span > b { font-size: .7rem !important; }
html:root body .messenger-room-slow-mode > span > small { color: var(--theme-text-muted) !important; font-size: .56rem !important; }

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-slow-mode-scale {
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: .18rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-slow-mode-scale > button {
    min-width: 0 !important;
    padding: .25rem .08rem !important;
    border: 0 !important;
    border-radius: .42rem !important;
    background: transparent !important;
    color: var(--theme-text-muted) !important;
    font-size: .56rem !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-slow-mode-scale > button:is(.is-active, :hover) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-slow-mode-range {
    position: relative !important;
    width: 100% !important;
    height: 1rem !important;
    margin: -.15rem 0 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    appearance: none !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(to right,
        var(--theme-accent) 0 var(--slow-progress, 0%),
        var(--theme-surface-control) var(--slow-progress, 0%) 100%) !important;
    background-clip: content-box !important;
    accent-color: var(--theme-accent) !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

html:root body .messenger-room-slow-mode-range::-webkit-slider-runnable-track {
    height: .28rem;
    border-radius: 999px;
    background: transparent;
}

html:root body .messenger-room-slow-mode-range::-webkit-slider-thumb {
    width: .82rem;
    height: .82rem;
    margin-top: -.27rem;
    appearance: none;
    border: .14rem solid var(--theme-surface-panel);
    border-radius: 50%;
    background: var(--theme-accent);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--theme-accent) 40%, transparent);
}

html:root body .messenger-room-slow-mode-range::-moz-range-track {
    height: .28rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
}

html:root body .messenger-room-slow-mode-range::-moz-range-thumb {
    width: .68rem;
    height: .68rem;
    border: .14rem solid var(--theme-surface-panel);
    border-radius: 50%;
    background: var(--theme-accent);
}

@media (max-width: 560px) {
    html:root body .messenger-room-slow-mode-scale { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

/* Тело управления пространством остаётся прозрачным контейнером даже после
   подключения общих правил вложенных поверхностей. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .space-manage-panel > .space-manage-body {
    background: transparent !important;
}

/* ------------[Музыкальное сообщение: цельный хвост]------------ // Оформляет связанный блок интерфейса.
   У трека видимую карточку рисует вложенный плеер, а внешний bubble прозрачен.
   Поэтому хвост получает ту же заливку и компактный нахлёст именно здесь. Модуль: «оформление интерфейса». Часть 6/18 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble.is-track-only > .messenger-bubble-tail {
    bottom: .04rem !important;
    width: .7rem !important;
    height: .84rem !important;
    color: var(--track-message-fill, var(--theme-surface-active)) !important;
    filter: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-outgoing .messenger-bubble.is-track-only > .messenger-bubble-tail {
    right: -.27rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-incoming .messenger-bubble.is-track-only > .messenger-bubble-tail {
    left: -.27rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble.is-track-only > .messenger-bubble-tail-fill {
    fill: var(--track-message-fill, var(--theme-surface-active)) !important;
}

/* ------------[Поиск в шапке: единая оболочка поля]------------ // Оформляет связанный блок интерфейса.
   Иконка и ввод находятся внутри одной заметной поверхности. Сам input
   прозрачен, чтобы старые правила тем не могли снова разбить поле на части. Модуль: «оформление интерфейса». Часть 7/18 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header .search-wrapper > .group {
    display: flex !important;
    width: 12rem !important;
    min-height: 2.35rem !important;
    align-items: center !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: .88rem !important;
    background: var(--theme-surface-active) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-divider) 78%, transparent) !important;
    transition: width .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header .search-wrapper > .group:focus-within {
    width: 20rem !important;
    background: var(--theme-surface-control) !important;
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--theme-accent) 38%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header .search-wrapper > .group > #global-search {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.35rem !important;
    padding: .55rem 1rem .55rem 2.5rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header .search-wrapper > .group > #global-search:focus {
    width: 100% !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ------------[Каналы и группы: единые уровни фона]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 11/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-settings-modal > section {
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-settings-modal > section > header {
    border-bottom: 1px solid var(--theme-divider) !important;
    background: var(--theme-surface-panel) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-settings-form {
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-settings-form :is(
        input[type="text"], textarea, select,
        .messenger-room-invite-settings,
        .messenger-room-member-picker-trigger,
        .messenger-room-member-search,
        .messenger-room-member-list article
    ) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-settings-form :is(.messenger-room-policy, .messenger-room-members-manage) {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
}

/* Файлы в профиле группы/канала не слипаются даже когда содержимое вкладки
   переключено старым правилом в display:block. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-panel-content:is(.is-music, .is-file) {
    display: grid !important;
    align-content: start !important;
    gap: .55rem !important;
    padding: .62rem !important;
    background: var(--theme-surface-nested) !important;
}

html:root body .messenger-shared-attachments > :is(.messenger-attachment-audio, .messenger-attachment-file)
    + :is(.messenger-attachment-audio, .messenger-attachment-file) {
    margin-top: .12rem !important;
}

/* ------------[Музыкальный пузырь: одна заливка с хвостом]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 12/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-incoming .messenger-bubble.is-track-only {
    --track-message-fill: var(--theme-surface-nested) !important;
    --message-shape-fill: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-outgoing .messenger-bubble.is-track-only {
    --track-message-fill: var(--theme-surface-active) !important;
    --message-shape-fill: var(--theme-surface-active) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble.is-track-only .vmesta-track-player {
    border-color: transparent !important;
    background: var(--track-message-fill) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble.is-track-only > .messenger-bubble-tail {
    bottom: .08rem !important;
    width: .58rem !important;
    height: .72rem !important;
    color: var(--track-message-fill) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-outgoing .messenger-bubble.is-track-only > .messenger-bubble-tail {
    right: -.18rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-incoming .messenger-bubble.is-track-only > .messenger-bubble-tail {
    left: -.18rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-bubble.is-track-only > .messenger-bubble-tail-fill {
    fill: var(--track-message-fill) !important;
}

/* ------------[Меню темы]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 13/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #settings-dropdown {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1rem 2.6rem color-mix(in srgb, var(--theme-text-primary) 18%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #settings-dropdown #menu-settings-content {
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #settings-dropdown :is(#system-theme-btn, .adaptive-theme-shell) {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #settings-dropdown .adaptive-theme-mode-menu {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #settings-dropdown .adaptive-theme-mode-menu > button {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #settings-dropdown .adaptive-theme-mode-menu > button:is(:hover, .is-active) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

/* ------------[Настройки профиля]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 14/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #cover-animation-panel .cover-editor-workspace {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #cover-animation-panel :is(#cover-animation-grid, #cover-image-grid) {
    border-radius: .9rem !important;
    padding: .65rem !important;
    background: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #cover-animation-panel .cover-animation-tile {
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #cover-animation-panel .cover-animation-tile:is(:hover, .is-active) {
    border-color: transparent !important;
    background: var(--theme-surface-control) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #cover-animation-panel :is(.cover-animation-actions button, .cover-editor-tab) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #cover-animation-panel :is(.cover-animation-actions button:last-child, .cover-editor-tab.is-active) {
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
}

/* ------------[Фото и альбомы: заметные действия]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 15/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #tab-photos > div {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(#upload-photo-btn, #create-album-btn) {
    border: 0 !important;
    border-radius: .72rem !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
    box-shadow: inset 0 0 0 1px var(--theme-divider) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(#upload-photo-btn, #create-album-btn) :is(span, svg) {
    color: var(--theme-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(#upload-photo-btn, #create-album-btn):hover {
    background: var(--theme-surface-control) !important;
}

/* ------------[Иконка плеера в шапке]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 16/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .global-music-toggle {
    width: 2rem !important;
    height: 2rem !important;
    border: 0 !important;
    border-radius: .68rem !important;
    background: color-mix(in srgb, var(--theme-surface-panel) 78%, var(--theme-accent) 22%) !important;
    color: var(--theme-accent) !important;
    box-shadow: inset 0 0 0 1px var(--theme-divider) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .global-music-toggle:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--theme-surface-panel) 66%, var(--theme-accent) 34%) !important;
    color: var(--theme-accent) !important;
}

html:root body .global-music-toggle svg {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
}

/* Старый adaptive-слой задавал отдельно полупрозрачный background-color.
   Явно гасим и цвет, и изображение фона у внешней оболочки меню. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #settings-dropdown#settings-dropdown#settings-dropdown {
    --adaptive-ui-modal: var(--theme-surface-panel) !important;
    background: var(--theme-surface-panel) !important;
    background-color: var(--theme-surface-panel) !important;
    background-image: none !important;
    transition: none !important;
}

@supports (color: color-mix(in lab, red, red)) {
    html:root.adaptive-theme body #settings-dropdown#settings-dropdown#settings-dropdown {
        background: var(--theme-surface-panel) !important;
        background-color: var(--theme-surface-panel) !important;
        background-image: none !important;
    }
}

/* ------------[Голосовая запись: цвет темы -> красный у корзины]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 17/41 */
html:root body .messenger-recording-panel {
    --recording-danger: #ef4444;
}

html:root body .messenger-recording-panel :is(
    .messenger-recording-cancel,
    .messenger-recording-send,
    .messenger-recording-lock
) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease !important;
}

html:root body .messenger-recording-panel.is-locked .messenger-recording-send,
html:root body .messenger-recording-panel.is-locked .messenger-recording-lock {
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
}

html:root body .messenger-recording-panel .messenger-recording-status strong {
    color: var(--theme-text-primary) !important;
}

html:root body .messenger-recording-panel .messenger-recording-status span {
    color: var(--theme-text-secondary) !important;
}

html:root body .messenger-recording-panel .messenger-recording-wave i {
    background: var(--theme-accent) !important;
    transition: background-color 160ms ease !important;
}

/* Красный появляется только во время движения к корзине. Процент жеста
   обеспечивает плавный переход и возвращает палитру темы при движении назад. */
html:root body .messenger-recording-panel.is-canceling :is(
    .messenger-recording-cancel,
    .messenger-recording-send,
    .messenger-recording-lock
) {
    background: color-mix(in srgb, var(--recording-danger) var(--recording-cancel-progress, 0%), var(--theme-surface-control)) !important;
    color: color-mix(in srgb, var(--recording-danger) var(--recording-cancel-progress, 0%), var(--theme-accent)) !important;
}

html:root body .messenger-recording-panel.is-canceling .messenger-recording-status strong {
    color: color-mix(in srgb, var(--recording-danger) var(--recording-cancel-progress, 0%), var(--theme-text-primary)) !important;
}

html:root body .messenger-recording-panel.is-canceling .messenger-recording-status span {
    color: color-mix(in srgb, var(--recording-danger) var(--recording-cancel-progress, 0%), var(--theme-text-secondary)) !important;
}

html:root body .messenger-recording-panel.is-canceling .messenger-recording-wave i {
    background: color-mix(in srgb, var(--recording-danger) var(--recording-cancel-progress, 0%), var(--theme-accent)) !important;
}

html:root body .messenger-recording-panel.is-cancel-ready .messenger-recording-cancel {
    background: var(--recording-danger) !important;
    color: var(--theme-text-inverse) !important;
}

html:root body .messenger-recording-panel.is-cancel-ready :is(
    .messenger-recording-send,
    .messenger-recording-lock
) {
    background: color-mix(in srgb, var(--recording-danger) 16%, var(--theme-surface-control)) !important;
    color: var(--recording-danger) !important;
}

html:root body .messenger-recording-panel.is-cancel-ready :is(
    .messenger-recording-status strong,
    .messenger-recording-status span
) {
    color: var(--recording-danger) !important;
}

html:root body .messenger-recording-panel.is-cancel-ready .messenger-recording-wave i {
    background: var(--recording-danger) !important;
}

html:root body .messenger-recording-panel :is(.messenger-recording-cancel, .messenger-recording-send, .messenger-recording-lock) :is(svg, svg *) {
    color: currentColor !important;
    fill: none !important;
    stroke: currentColor !important;
}

/* Отправленные голосовые используют системный акцент выбранной темы. */

/* Микрофон — индикатор, а не кнопка: ему не нужна квадратная площадка. */
html:root body .messenger-voice-note .messenger-voice-mic {
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root body .messenger-voice-note :is(
    .messenger-voice-note-toggle,
    .messenger-voice-speed,
    .messenger-voice-note-tools > button
):is(:hover, :focus-visible, .is-active) {
    background: #ef4444 !important;
    color: var(--theme-text-inverse) !important;
}

html:root body .messenger-voice-note :is(
    .messenger-voice-note-toggle,
    .messenger-voice-speed,
    .messenger-voice-mic,
    .messenger-voice-note-tools > button
) :is(svg, svg *) {
    color: currentColor !important;
    stroke: currentColor !important;
}

/* ------------[Поиск в шапке: заметная акцентная площадка]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 18/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header .search-wrapper > .group {
    border: 0 !important;
    background: color-mix(in srgb, var(--theme-surface-panel) 58%, var(--theme-accent) 42%) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    #site-header .search-wrapper > .group:focus-within {
    background: color-mix(in srgb, var(--theme-surface-panel) 46%, var(--theme-accent) 54%) !important;
    box-shadow: none !important;
}

html:root body #site-header .search-wrapper > .group > #global-search {
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* ------------[Достижения: реакция вкладок и карточек]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 19/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(.achievements-scope-tabs, .achievements-dialog-tabs) > button {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
    transition: transform .16s ease, background-color .16s ease, color .16s ease !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    :is(.achievements-scope-tabs, .achievements-dialog-tabs) > button:is(:hover, :focus-visible, .is-active, [aria-selected="true"]) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
    transform: translateY(-1px);
}

html:root body :is(.achievement-showcase-item, .achievement-row) {
    transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

html:root body :is(.achievement-showcase-item, .achievement-row):is(:hover, :focus-visible) {
    border-color: transparent !important;
    background: var(--theme-surface-active) !important;
    box-shadow: 0 .55rem 1.15rem color-mix(in srgb, var(--theme-text-primary) 12%, transparent) !important;
    transform: translateY(-2px);
}

/* ------------[Фото и альбомы: акцентные действия без обводки]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 20/41 */
html:root body :is(#upload-photo-btn, #create-album-btn, .space-media-upload) {
    border: 0 !important;
    border-radius: .78rem !important;
    background: color-mix(in srgb, var(--theme-surface-panel) 62%, var(--theme-accent) 38%) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root body :is(#upload-photo-btn, #create-album-btn, .space-media-upload):is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--theme-surface-panel) 48%, var(--theme-accent) 52%) !important;
    color: var(--theme-text-inverse) !important;
}

html:root body :is(#upload-photo-btn, #create-album-btn, .space-media-upload) :is(span, svg, svg *) {
    color: currentColor !important;
    stroke: currentColor !important;
}

html:root body :is(#albums-placeholder, .space-profile-photo-field) {
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 1.15rem !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

/* ------------[Карточка группы или канала]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 21/41 */
html:root body .messenger-room-panel {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 .9rem 2rem color-mix(in srgb, var(--theme-text-primary) 12%, transparent) !important;
}

html:root body .messenger-room-panel > header {
    border: 0 !important;
    border-radius: .95rem .95rem .78rem .78rem !important;
    background: var(--theme-surface-nested) !important;
}

html:root body .messenger-room-panel > nav {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
}

html:root body .messenger-room-panel > section {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
}

html:root body .messenger-room-panel :is(.messenger-room-panel-meta button, nav button) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    box-shadow: none !important;
}

/* Логин остаётся одной плашкой; @ отделяется только тонким разделителем. */
html:root body .messenger-room-handle-field {
    display: grid !important;
    grid-template-columns: 2.2rem minmax(0, 1fr) !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: .78rem !important;
    background: var(--theme-surface-control) !important;
    box-shadow: none !important;
}

html:root body .messenger-room-handle-field > b {
    border-right: 1px solid var(--theme-divider) !important;
    background: transparent !important;
    color: var(--theme-accent) !important;
}

html:root body .messenger-room-handle-field > input {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Медленный режим занимает всю строку разрешений. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-room-policy-content > label.messenger-room-slow-mode {
    display: grid !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    gap: .42rem !important;
    padding: .65rem .7rem !important;
    background: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    label.messenger-room-slow-mode .messenger-room-slow-mode-scale {
    width: 100% !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    label.messenger-room-slow-mode .messenger-room-slow-mode-scale > button {
    min-height: 1.8rem !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--theme-text-muted) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    label.messenger-room-slow-mode .messenger-room-slow-mode-scale > button:is(.is-active, :focus-visible) {
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    label.messenger-room-slow-mode .messenger-room-slow-mode-scale > button:hover:not(.is-active) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

/* ------------[Голосование: два уровня заполнения]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 22/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-poll-card .messenger-poll-option {
    --poll-fill: color-mix(in srgb, var(--theme-surface-active) 48%, var(--theme-accent) 52%);
    isolation: isolate !important;
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-poll-card .messenger-poll-option.is-selected {
    --poll-fill: color-mix(in srgb, var(--theme-surface-active) 34%, var(--theme-accent) 66%);
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-poll-card .messenger-poll-option::before {
    z-index: 0 !important;
    background: var(--poll-fill) !important;
}

html:root body .messenger-poll-option > * {
    position: relative;
    z-index: 1;
}

html:root body .messenger-poll-card > footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: .45rem !important;
}

html:root body .messenger-poll-card > footer > span {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    gap: .12rem .3rem !important;
}

html:root body .messenger-poll-card > footer > span > .messenger-icon { grid-row: 1 / 3; }
html:root body .messenger-poll-card > footer > span > :is(b, small) { grid-column: 2; padding: 0 !important; }

html:root body .messenger-poll-public-voters > div {
    max-height: 11rem !important;
    padding: .12rem .5rem .55rem !important;
}

html:root body .messenger-poll-public-voters section > div {
    grid-template-columns: 1fr !important;
    gap: .32rem !important;
}

html:root body .messenger-poll-public-voters section button {
    min-height: 2.55rem !important;
    grid-template-columns: 1.85rem minmax(0, 1fr) !important;
    gap: .45rem !important;
    padding: .38rem .45rem !important;
    border-radius: .62rem !important;
    background: var(--theme-surface-panel) !important;
}

html:root body .messenger-poll-public-voters section button .messenger-avatar {
    width: 1.85rem !important;
    height: 1.85rem !important;
}

html:root body .messenger-poll-public-voters section button b { font-size: .56rem !important; }
html:root body .messenger-poll-public-voters section button small { font-size: .47rem !important; }

/* Расширенный вопрос прокручивается внутри окна, не выталкивая его шапку. */
html:root body .messenger-poll-modal > section {
    overscroll-behavior: contain !important;
    scroll-padding-block: .75rem 1rem !important;
    scrollbar-gutter: stable !important;
}

/* ------------[Панель смайликов: видимые границы]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 23/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: inset 0 0 0 1px var(--theme-divider),
                0 .9rem 2rem color-mix(in srgb, var(--theme-text-primary) 14%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded :is(.emoji-picker-search-wrap, .emoji-picker-mode-tabs) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    box-shadow: inset 0 0 0 1px var(--theme-divider) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded :is(.emoji-picker-grid, .emoji-picker-emoji-view) {
    border-radius: .78rem !important;
    background: var(--theme-surface-nested) !important;
}

html:root body .emoji-picker-expanded .emoji-picker-tab:is(:hover, .is-active) {
    background: var(--theme-surface-active) !important;
}

/* ------------[Музыкальный хвост и выравнивание в группе]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 24/41 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.has-tail .messenger-bubble.is-track-only > svg.messenger-bubble-tail {
    bottom: .14rem !important;
    width: .52rem !important;
    height: .62rem !important;
    overflow: hidden !important;
    border-radius: 0 0 .15rem 0 !important;
    background: var(--track-message-fill) !important;
    clip-path: polygon(0 0, 0 100%, 100% 100%) !important;
    color: var(--track-message-fill) !important;
    filter: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-outgoing.has-tail .messenger-bubble.is-track-only > svg.messenger-bubble-tail {
    right: -.36rem !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.is-incoming.has-tail .messenger-bubble.is-track-only > svg.messenger-bubble-tail {
    right: auto !important;
    left: -.36rem !important;
    transform: scaleX(-1) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .messenger-message.has-tail .messenger-bubble.is-track-only > svg.messenger-bubble-tail > * {
    opacity: 0 !important;
}

/* У пользовательской адаптивной палитры старый слой сообщений мог вернуть
   локальный синий. Эти две главные кнопки всегда берут системный акцент темы. */
html:root body #messages-root .messenger-send-button {
    border: 0 !important;
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
}

html:root body .spaces-index-toolbar .spaces-index-scope button.is-active {
    border: 0 !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body .messenger-room-panel-content.is-music .vmesta-track-player {
    grid-template-columns: 2.2rem minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: .12rem .5rem !important;
}

html:root body .messenger-room-panel-content.is-music .vmesta-track-head {
    grid-column: 2;
    grid-row: 1;
}

html:root body .messenger-room-panel-content.is-music .vmesta-track-body { display: contents !important; }
html:root body .messenger-room-panel-content.is-music .vmesta-track-play {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center !important;
}

html:root body .messenger-room-panel-content.is-music .vmesta-track-timeline {
    grid-column: 2;
    grid-row: 2;
}

html:root body .messenger-room-panel-content.is-music .vmesta-track-tools {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center !important;
}

/* В окне прогресса вкладки должны различаться визуально даже при наличии
   старых локальных переменных компонента. */
html:root body .achievements-dialog.achievements-dialog :is(
    .achievements-scope-tabs,
    .achievements-dialog-tabs
) > button {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
    transition: none !important;
}

html:root body .achievements-dialog.achievements-dialog :is(
    .achievements-scope-tabs,
    .achievements-dialog-tabs
) > button:is(:hover, :focus-visible, .is-active, [aria-selected="true"]) {
    background-color: var(--theme-accent) !important;
    background-image: none !important;
    color: var(--theme-text-inverse) !important;
    transform: translateY(-1px) !important;
    transition: none !important;
}

html:root body .achievements-dialog.achievements-dialog.achievements-dialog
    .achievements-scope-tabs.achievements-scope-tabs > button:is(:hover, :focus-visible, .is-active, [aria-selected="true"]),
html:root body .achievements-dialog.achievements-dialog.achievements-dialog
    .achievements-dialog-tabs.achievements-dialog-tabs > button:is(:hover, :focus-visible, .is-active, [aria-selected="true"]) {
    border-color: transparent !important;
    background: var(--theme-accent) !important;
    color: var(--theme-text-inverse) !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
    transition: none !important;
}

html:root body .achievements-dialog.achievements-dialog.achievements-dialog
    :is(.achievements-scope-tabs, .achievements-dialog-tabs) > button:is(:hover, :focus-visible) {
    outline: .12rem solid color-mix(in srgb, var(--theme-accent) 62%, transparent) !important;
    outline-offset: .1rem !important;
}

html:root body .achievements-dialog.achievements-dialog.achievements-dialog
    :is(.achievements-scope-tabs, .achievements-dialog-tabs) > button:is(.is-active, [aria-selected="true"]) {
    outline: .12rem solid var(--theme-accent) !important;
    outline-offset: -.12rem !important;
    box-shadow: inset 0 0 0 .12rem var(--theme-accent) !important;
}

/* ------------[Музыкальное сообщение без отдельного хвоста]------------ // Оформляет связанный блок интерфейса.
   У плеера уже есть собственная цельная карточка. SVG-кончик создавал второй
   силуэт и выглядел как случайный острый выступ, поэтому для треков он скрыт. Модуль: «оформление интерфейса». Часть 8/18 */
html:root body .messenger-message.has-tail
    .messenger-bubble.is-track-only > svg.messenger-bubble-tail {
    display: none !important;
}

html:root body .messenger-message.has-tail
    .messenger-bubble.is-track-only .vmesta-track-player {
    border-bottom-right-radius: 1rem !important;
    border-bottom-left-radius: 1rem !important;
}

/* ------------[Голосовые: подсветка текущей темы]------------ // Оформляет связанный блок интерфейса.
   Отправленный плеер не является опасным действием и использует палитру
   выбранной темы. Красный остаётся только у удаления записи. Модуль: «оформление интерфейса». Часть 9/18 */
html:root body .messenger-voice-note :is(
    .messenger-voice-note-toggle,
    .messenger-voice-speed,
    .messenger-voice-note-tools > button
) {
    border-color: transparent !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root body .messenger-voice-note :is(
    .messenger-voice-note-toggle,
    .messenger-voice-speed,
    .messenger-voice-note-tools > button
):is(:hover, :focus-visible, .is-active) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

/* Быстрые реакции используют ту же поверхность, что подсветка пунктов
   расположенного под ними меню сообщения. */
html:root body .messenger-message-menu-stack > .messenger-reaction-panel {
    border-color: transparent !important;
    background: var(--msg-menu-active, var(--theme-surface-active)) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* ------------[Шапка: цельная заметная площадка поиска]------------ // Оформляет связанный блок интерфейса.
   Поиск и компактная кнопка плеера используют одну тематическую заливку.
   Один ровный фон проходит под вводом и лупой без рамки и второго слоя. Модуль: «оформление интерфейса». Часть 10/18 */
html:root body #site-header
    .search-wrapper.search-wrapper > .group.group {
    width: 12rem !important;
    min-height: 2.45rem !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: .9rem !important;
    background: color-mix(in srgb, var(--theme-surface-panel) 78%, var(--theme-accent) 22%) !important;
    background-color: color-mix(in srgb, var(--theme-surface-panel) 78%, var(--theme-accent) 22%) !important;
    background-image: none !important;
    box-shadow: none !important;
    transition: width .2s ease !important;
}

html:root body #site-header
    .search-wrapper.search-wrapper > .group.group:focus-within {
    width: 20rem !important;
    background: color-mix(in srgb, var(--theme-surface-panel) 66%, var(--theme-accent) 34%) !important;
    background-color: color-mix(in srgb, var(--theme-surface-panel) 66%, var(--theme-accent) 34%) !important;
    box-shadow: none !important;
}

html:root body #site-header
    .search-wrapper.search-wrapper > .group.group > #global-search {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.45rem !important;
    padding: .55rem 1rem .55rem 2.5rem !important;
    border: 0 !important;
    border-radius: .9rem !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html:root body #site-header
    .search-wrapper.search-wrapper > .group.group > #global-search:focus {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

html:root body #site-header
    .search-wrapper.search-wrapper > .group.group > div:first-of-type {
    z-index: 1 !important;
    color: var(--theme-accent) !important;
}

/* Повышенная специфичность намеренно исключает индикатор микрофона из
   площадок кнопок. Проверяем и shorthand, и отдельные слои фона. */
html:root body .messenger-voice-note
    .messenger-voice-note-top > .messenger-voice-mic.messenger-voice-mic {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}
/* ======[ФИНАЛЬНЫЙ БАЛАНС MONET И СООБЩЕНИЙ 2026-09-08]==========
   Этот файл загружается после основной таблицы: правила здесь являются
   единственным последним слоем и не дают поздней теме перекрасить поиск. */

html:root.adaptive-theme.theme-monet-active:not(.dark) {
    --vmesta-monet-canvas: var(--theme-surface-page);
    --vmesta-monet-surface: var(--theme-surface-panel);
    --vmesta-monet-inner: var(--theme-surface-nested);
    --vmesta-monet-strong: var(--theme-surface-control);
    --vmesta-monet-line: var(--theme-divider);
    --vmesta-monet-ink: var(--theme-text-primary);
    --vmesta-monet-muted: var(--theme-text-muted);
    --vmesta-tone-1: var(--theme-surface-panel);
    --vmesta-tone-2: var(--theme-surface-nested);
    --vmesta-tone-3: var(--theme-surface-control);
    --vmesta-tone-4: var(--theme-surface-active);
    --vmesta-tone-5: var(--theme-accent);
}

html:root.adaptive-theme.theme-monet-active.dark {
    --vmesta-monet-canvas: var(--theme-surface-page);
    --vmesta-monet-surface: var(--theme-surface-panel);
    --vmesta-monet-inner: var(--theme-surface-nested);
    --vmesta-monet-strong: var(--theme-surface-control);
    --vmesta-monet-line: var(--theme-divider);
    --vmesta-monet-ink: var(--theme-text-primary);
    --vmesta-monet-muted: var(--theme-text-muted);
    --vmesta-tone-1: var(--theme-surface-panel);
    --vmesta-tone-2: var(--theme-surface-nested);
    --vmesta-tone-3: var(--theme-surface-control);
    --vmesta-tone-4: var(--theme-surface-active);
    --vmesta-tone-5: var(--theme-accent);
}

html:root.adaptive-theme.theme-monet-active body {
    background-color: var(--vmesta-monet-canvas) !important;
    background-image: none !important;
}

/* Поиск в Monet равен по заливке кнопке плеера и не зависит от route.
   Оболочка и поле получают одну ступень, поэтому старое непрозрачное правило
   поля не может спрятать цвет площадки. */
html:root.adaptive-theme.theme-monet-active body #site-header
    .search-wrapper.search-wrapper > .group.group,
html:root.adaptive-theme.theme-monet-active body #site-header
    .search-wrapper.search-wrapper > .group.group:focus-within,
html:root.adaptive-theme.theme-monet-active body #site-header .global-music-toggle {
    border: 0 !important;
    outline: 0 !important;
    background: var(--vmesta-tone-4) !important;
    background-color: var(--vmesta-tone-4) !important;
    background-image: none !important;
    color: var(--vmesta-monet-ink) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body #site-header
    .search-wrapper.search-wrapper > .group.group > #global-search,
html:root.adaptive-theme.theme-monet-active body #site-header
    .search-wrapper.search-wrapper > .group.group > #global-search:focus {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: var(--vmesta-tone-4) !important;
    background-color: var(--vmesta-tone-4) !important;
    background-image: none !important;
    color: var(--vmesta-monet-ink) !important;
    box-shadow: inset 0 0 0 999px var(--vmesta-tone-4) !important;
}

html:root.adaptive-theme.theme-monet-active body #site-header :is(.search-wrapper svg, .global-music-toggle) {
    color: var(--vmesta-ui-primary) !important;
}

/* Группы и каналы: округлённые действия и цельный нижний край. */
html:root body .messenger-room-settings-modal > section,
html:root body .messenger-room-settings-form {
    scrollbar-color: var(--msg-accent) var(--room-tone-1, var(--msg-bg));
}

html:root body .messenger-room-settings-header-actions > button,
html:root body .messenger-room-panel :is(.messenger-room-panel-close, .messenger-room-panel-manage, .messenger-room-panel-leave) {
    min-width: 2.55rem !important;
    width: 2.55rem !important;
    min-height: 2.25rem !important;
    height: 2.25rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: var(--room-tone-3, var(--msg-menu-soft)) !important;
    box-shadow: none !important;
}

html:root body .messenger-room-settings-header-actions > .messenger-room-settings-leave,
html:root body .messenger-room-panel .messenger-room-panel-leave {
    min-width: 2.75rem !important;
    width: 2.75rem !important;
    color: #ef4444 !important;
}

html:root body .messenger-room-settings-form > footer {
    box-sizing: border-box;
    width: calc(100% + 1.64rem) !important;
    margin: .15rem -.82rem -.8rem !important;
    padding: .72rem .82rem .8rem !important;
    border: 0 !important;
    border-radius: 0 0 1.35rem 1.35rem !important;
    background: var(--room-tone-2, var(--msg-panel)) !important;
    box-shadow: none !important;
}

html:root body .messenger-room-settings-form > footer button {
    min-height: 2.35rem;
    border: 0 !important;
    border-radius: 999px !important;
    padding-inline: 1rem !important;
    background: var(--room-tone-4, var(--msg-menu-active)) !important;
    box-shadow: none !important;
}

html:root body .messenger-room-settings-form > footer .is-primary {
    background: var(--msg-accent) !important;
}

/* Отметка существует только среди быстрых действий сообщения. */
html:root body .messenger-message-mention-marker { display: none !important; }

html:root body .messenger-message-hover-actions .messenger-message-mention-action {
    display: inline-grid;
    width: 1.7rem;
    height: 1.7rem;
    place-items: center;
    border: 0 !important;
    border-radius: 999px;
    background: var(--msg-accent) !important;
    color: #fff !important;
    font-size: .8rem;
    font-weight: 950;
}

html:root body .messenger-message .messenger-bubble {
    transition: none !important;
}

html:root body .messenger-message:hover .messenger-bubble:not(.is-poll) {
    background: var(--message-shape-fill) !important;
}

html:root body .messenger-message.is-mention-unread .messenger-bubble:not(.is-poll) {
    background: color-mix(in srgb, var(--message-shape-fill) 84%, var(--msg-accent) 16%) !important;
    outline: 0 !important;
}

html:root body .messenger-message.is-mention-focus .messenger-bubble:not(.is-poll) {
    animation: none !important;
    background: color-mix(in srgb, var(--message-shape-fill) 68%, var(--msg-accent) 32%) !important;
}

/* Панель смайликов: пять спокойных слоёв, ни одной обводки или неоновой линии. */
html:root body .emoji-picker-expanded {
    border: 0 !important;
    outline: 0 !important;
    background: var(--vmesta-tone-2, var(--msg-menu-surface)) !important;
    box-shadow: none !important;
}

html:root body .emoji-picker-expanded :is(.emoji-picker-header, .emoji-picker-mode-tabs) {
    border: 0 !important;
    background: transparent !important;
}

html:root body .emoji-picker-expanded .emoji-picker-emoji-view {
    border: 0 !important;
    outline: 0 !important;
    background: var(--vmesta-tone-3, var(--msg-menu-soft)) !important;
    box-shadow: none !important;
}

html:root body .emoji-picker-expanded :is(.emoji-picker-search-wrap, .emoji-picker-search) {
    border: 0 !important;
    outline: 0 !important;
    background: var(--vmesta-tone-4, var(--msg-menu-active)) !important;
    color: var(--vmesta-ui-ink, var(--msg-text)) !important;
    box-shadow: none !important;
}

html:root body .emoji-picker-expanded :is(.emoji-picker-grid, .emoji-picker-tabs, .emoji-picker-tab, .emoji-picker-item, button) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html:root body .emoji-picker-expanded :is(.emoji-picker-mode-button.is-active, .emoji-picker-tab.is-active, .emoji-picker-item:hover) {
    background: var(--vmesta-tone-5, var(--msg-menu-active)) !important;
}

/* Пространства и список сообщений не сливаются в одну плашку. */
html:root body :is(.spaces-index-toolbar, .space-list-panel, .space-intro-card, .space-left-actions) {
    background: var(--vmesta-tone-2) !important;
}

html:root body :is(.spaces-index-card, .spaces-index-card .spaces-index-open, .spaces-index-card .spaces-index-body,
    .space-left-message, .space-subscribe-split, .space-left-subscribe, .space-followers-count) {
    background: var(--vmesta-tone-3) !important;
}

html:root body :is(.spaces-index-card:hover, .spaces-index-card:hover .spaces-index-open,
    .space-left-message:hover, .space-subscribe-split:hover) {
    background: var(--vmesta-tone-4) !important;
}

/* Действия пространства не должны сливаться с собственной подложкой.
   Основное действие остаётся акцентным, активная отписка — четвёртым
   уровнем, а счётчик отделён спокойным вторым уровнем. */
html:root.adaptive-theme.theme-monet-active body .space-left-message,
html:root.adaptive-theme.theme-monet-active body .space-left-message:hover,
html:root.adaptive-theme.theme-monet-active body .space-left-subscribe:not(.is-active),
html:root.adaptive-theme.theme-monet-active body .space-left-subscribe:not(.is-active):hover {
    border: 0 !important;
    background: var(--theme-accent) !important;
    color: #fff !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body .space-subscribe-split,
html:root.adaptive-theme.theme-monet-active body .space-subscribe-split:hover {
    border: 0 !important;
    background: var(--vmesta-tone-3) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body .space-left-subscribe.is-active,
html:root.adaptive-theme.theme-monet-active body .space-left-subscribe.is-active:hover {
    background: var(--vmesta-tone-4) !important;
    color: var(--theme-text-primary) !important;
}

html:root.adaptive-theme.theme-monet-active body .space-followers-count,
html:root.adaptive-theme.theme-monet-active body .space-followers-count:hover {
    border: 0 !important;
    background: var(--vmesta-tone-2) !important;
    color: var(--theme-text-primary) !important;
}

html:root body.messages-route :is(.messenger-dialogs-panel, .messenger-conversation, .messenger-message-stream) {
    background: var(--vmesta-tone-1, var(--msg-bg)) !important;
}

html:root body.messages-route :is(.messenger-chat-list, .messenger-media-settings) {
    border: 0 !important;
    background: var(--vmesta-tone-2, var(--msg-panel)) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-media-settings > label {
    border-radius: .68rem;
    padding: .5rem;
    background: var(--vmesta-tone-3, var(--msg-menu-soft)) !important;
}

html:root body.messages-route :is(.messenger-chat-row, .messenger-chat-row .messenger-chat-open) {
    background: transparent !important;
}

html:root body.messages-route .messenger-chat-row:is(:hover, .is-active) {
    background: var(--vmesta-tone-4, var(--msg-menu-active)) !important;
}

/* Опросы Monet: тёмная основа ответа совпадает с карточками проголосовавших,
   а заполненная часть остаётся отдельным более светлым слоем. */
html:root.adaptive-theme.theme-monet-active:not(.dark) body.messages-route {
    --msg-poll-answer-deep: var(--theme-surface-active);
    --msg-poll-answer-progress: var(--theme-accent);
}

html:root.adaptive-theme.theme-monet-active.dark body.messages-route {
    --msg-poll-answer-deep: var(--theme-surface-active);
    --msg-poll-answer-progress: var(--theme-accent);
}

html:root.adaptive-theme.theme-monet-active body.messages-route :is(.messenger-poll-option, .messenger-poll-public-voters) {
    border: 0 !important;
    background: var(--msg-poll-answer-deep) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-option::before {
    background: var(--msg-poll-answer-progress) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-public-voters section > div > button {
    border: 0 !important;
    background: var(--msg-poll-answer-deep) !important;
    box-shadow: none !important;
}

/* Ввод и уведомления сохраняют контраст и для текста рядом с emoji. */
html:root body :is(.messenger-composer textarea, .space-composer textarea, .space-composer input,
    .notification-history-copy p, .notification-item-copy, .messenger-bubble > p) {
    color: var(--vmesta-ui-ink, var(--msg-text)) !important;
    text-shadow: none !important;
}

html:root body #settings-dropdown .adaptive-theme-mode-menu {
    border: 0 !important;
    background: var(--vmesta-tone-2) !important;
    box-shadow: none !important;
}

html:root body #settings-dropdown .adaptive-theme-mode-menu > button {
    border: 0 !important;
    background: var(--vmesta-tone-3) !important;
    box-shadow: none !important;
}

html:root body #settings-dropdown .adaptive-theme-mode-menu > button:is(:hover, .is-active) {
    background: var(--vmesta-tone-4) !important;
}

/* ------------[Опрос Monet как заполненная пробирка]------------ // Оформляет связанный блок интерфейса.
   Дорожка — тёмная ступень текущей Monet-палитры, процент — её светлая
   ступень. В обычных темах остаётся их собственная прежняя отрисовка. Модуль: «оформление интерфейса». Часть 11/18 */
html:root body .messenger-poll-fill { display: none !important; }

html:root.adaptive-theme.theme-monet-active body.messages-route {
    --monet-poll-track: var(--theme-surface-active);
    --monet-poll-fill: var(--theme-accent);
    --monet-poll-voters: var(--theme-surface-control);
    --monet-poll-voter-row: var(--theme-surface-nested);
}

html:root.adaptive-theme.theme-monet-active.dark body.messages-route {
    --monet-poll-fill: var(--theme-accent);
    --monet-poll-voter-row: var(--theme-surface-nested);
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: 2.2rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--monet-poll-track) !important;
    background-color: var(--monet-poll-track) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option::before {
    display: none !important;
    content: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option > .messenger-poll-fill {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 auto 0 0 !important;
    display: block !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border-radius: 999px 0 0 999px !important;
    background: var(--monet-poll-fill) !important;
    pointer-events: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option[style*="--poll-percent:100%"] > .messenger-poll-fill {
    border-radius: 999px !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option > * {
    position: relative !important;
    z-index: 1 !important;
    color: inherit !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option > .messenger-poll-fill {
    position: absolute !important;
    z-index: 0 !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option > i {
    border-color: color-mix(in srgb, var(--theme-text-primary) 72%, transparent) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option > em {
    color: var(--theme-text-secondary) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-option:is(:hover, .is-selected) {
    background: var(--monet-poll-track) !important;
    color: var(--theme-text-primary) !important;
}

/* «Кто проголосовал» использует ещё одну тёмную Monet-ступень без
   процентной заливки; строки участников отделены соседним уровнем. */
html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-public-voters {
    border: 0 !important;
    background: var(--monet-poll-voters) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-public-voters > summary,
html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-public-voters section,
html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-public-voters section > header {
    background: transparent !important;
    color: var(--theme-text-primary) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-public-voters section > div > button {
    border: 0 !important;
    background: var(--monet-poll-voter-row) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-public-voters :is(b, strong) {
    color: var(--theme-text-primary) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-poll-card .messenger-poll-public-voters small {
    color: var(--theme-text-muted) !important;
}

/* Хвост и статус исходят из поверхности карточки, а не из яркого акцента. */
html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-bubble.is-poll > .messenger-bubble-tail {
    color: var(--msg-poll-surface) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-bubble.is-poll > .messenger-bubble-tail .messenger-bubble-tail-fill {
    fill: var(--msg-poll-surface) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-bubble.is-poll > .messenger-bubble-tail .messenger-bubble-tail-line {
    display: none !important;
    stroke: transparent !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-bubble.is-poll .messenger-delivery-stars {
    color: var(--vmesta-monet-muted) !important;
}

/* ======[MONET: ЕДИНЫЙ ФИНАЛЬНЫЙ СЛОЙ 2026-09-08]==========
   Все компоненты ниже получают цвета только из пяти поверхностей Monet.
   Блок намеренно последний: он отменяет накопившиеся локальные смеси,
   контуры и цветные тени старых компонентов. */
html:root.adaptive-theme.theme-monet-active:not(.dark) {
    --theme-surface-page: var(--adaptive-bg-light);
    --theme-surface-panel: var(--adaptive-surface-light);
    --theme-surface-nested: var(--adaptive-surface-2-light);
    --theme-surface-control: var(--adaptive-control-light);
    --theme-surface-active: var(--adaptive-active-light);
    --theme-divider: var(--adaptive-border-light);
}

html:root.adaptive-theme.theme-monet-active.dark {
    --theme-surface-page: var(--adaptive-bg-dark);
    --theme-surface-panel: var(--adaptive-surface-dark);
    --theme-surface-nested: var(--adaptive-surface-2-dark);
    --theme-surface-control: var(--adaptive-control-dark);
    --theme-surface-active: var(--adaptive-active-dark);
    --theme-divider: var(--adaptive-border-dark);
}

html:root.adaptive-theme.theme-monet-active {
    --adaptive-background: var(--theme-surface-page);
    --adaptive-surface: var(--theme-surface-panel);
    --adaptive-surface-2: var(--theme-surface-nested);
    --adaptive-border: var(--theme-divider);
    --adaptive-ui-panel: var(--theme-surface-panel);
    --adaptive-ui-modal: var(--theme-surface-nested);
    --adaptive-ui-active: var(--theme-surface-control);
    --adaptive-ui-line: transparent;
    --adaptive-ui-line-strong: transparent;
    --vmesta-ui-panel: var(--theme-surface-panel);
    --vmesta-ui-soft: var(--theme-surface-nested);
    --vmesta-ui-line: transparent;
    --vmesta-tone-1: var(--theme-surface-panel);
    --vmesta-tone-2: var(--theme-surface-nested);
    --vmesta-tone-3: var(--theme-surface-control);
    --vmesta-tone-4: var(--theme-surface-active);
    --vmesta-tone-5: var(--theme-accent);
}

html:root.adaptive-theme.theme-monet-active body,
html:root.adaptive-theme.theme-monet-active body #content-area {
    background: var(--theme-surface-page) !important;
    color: var(--theme-text-primary) !important;
}

html:root.adaptive-theme.theme-monet-active body :is(
    #site-header, #profile-tabs-container, #profile-left-rail nav,
    #profile-left-rail #profile-friends-open-button,
    #profile-right-rail .achievement-sidebar-card,
    #profile-right-rail .profile-interests-card,
    .post-item, .space-post, .space-switchboard, .space-composer,
    .space-side-card, .space-list-panel, .space-intro-card,
    .spaces-index-toolbar, .spaces-index-card,
    #post-viewer-panel, #viewer-sidebar, #viewer-scroll-region,
    #viewer-comments-block, .media-viewer-post-slot,
    #space-about-panel, .achievements-dialog, .theme-catalog-dialog,
    .messenger-shell, .messenger-dialogs-panel, .messenger-conversation,
    .messenger-side-section, .messenger-main-header,
    .messenger-conversation-header, .messenger-message-stream
) {
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body :is(
    .post-attachment-card, .post-file-selection-card, .space-post-file,
    .space-about-card, .space-about-quote, .space-about-longform,
    .profile-spaces-section, .achievement-row, .achievement-task,
    .achievement-showcase-item, .comment-node, .viewer-form-shell,
    .messenger-search, .messenger-chat-search, .messenger-composer,
    .messenger-pinned-panel, .messenger-inline-media-bar,
    .global-search-result-section, .global-search-side,
    .theme-catalog-section
) {
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-nested) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body :is(
    #global-search, .spaces-index-search, .spaces-index-search input,
    .messenger-chat-search input, .messenger-chat-search button,
    .messenger-composer textarea, .messenger-day-button,
    .messenger-chat-menu, .messenger-message-menu,
    .messenger-attach-menu, .messenger-blank-context-menu,
    .notification-settings-menu, .comment-dropdown, .post-dropdown
) {
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-control) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route :is(#messages-root, #messages-side-root) {
    --msg-bg: var(--theme-surface-page);
    --msg-panel: var(--theme-surface-panel);
    --msg-panel-strong: var(--theme-surface-active);
    --msg-line: transparent;
    --msg-text: var(--theme-text-primary);
    --msg-muted: var(--theme-text-muted);
    --msg-accent: var(--theme-accent);
    --msg-menu-surface: var(--theme-surface-control);
    --msg-menu-soft: var(--theme-surface-nested);
    --msg-menu-active: var(--theme-surface-active);
    --msg-search-shell-surface: var(--theme-surface-nested);
    --msg-search-field-surface: var(--theme-surface-control);
    --msg-composer-surface: var(--theme-surface-nested);
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-message.is-incoming .messenger-bubble:not(.is-poll) {
    --message-shape-fill: var(--theme-surface-nested) !important;
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
    filter: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-message.is-outgoing .messenger-bubble:not(.is-poll) {
    --message-shape-fill: var(--theme-surface-active) !important;
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-active) !important;
    box-shadow: none !important;
    filter: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-bubble.is-track-only .vmesta-track-player {
    border: 0 !important;
    outline: 0 !important;
    background: var(--message-shape-fill) !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route :is(
    .vmesta-track-player, .vmesta-track-tools button,
    .messenger-voice-note, .messenger-voice-note-toggle,
    .messenger-voice-speed, .messenger-voice-note-tools > button,
    .messenger-composer, .messenger-composer textarea
) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-voice-note-toggle::before,
html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-voice-note-toggle::after {
    display: none !important;
    content: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-composer {
    background: var(--theme-surface-nested) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-composer textarea {
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-message:hover .messenger-bubble:not(.is-poll) {
    background: var(--message-shape-fill) !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route :is(
    .messenger-bubble-tail, .messenger-bubble-tail-fill,
    .messenger-bubble-tail-line
) {
    filter: none !important;
}

/* Список диалогов является частью основной панели, а не вложенной карточкой.
   Раньше он занимал всю нижнюю половину экрана более светлым цветом и ломал
   композицию тёмной Monet-темы. Отдельной заливкой остаются только строки. */
html:root.adaptive-theme.theme-monet-active body.messages-route .messenger-chat-list {
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-chat-row:not(.is-active):not(:hover) {
    background: transparent !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-chat-row:is(.is-active, :hover) {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

/* Финальный контроль всплывающей панели смайликов. Старое правило использует
   несколько :is() и потому имело повышенную специфичность: без этого моста
   оно возвращало цветное внутреннее кольцо и неоновую тень. */
html:root.adaptive-theme.theme-monet-active body
    .emoji-picker-expanded.emoji-picker-expanded {
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
    filter: none !important;
}

html:root.adaptive-theme.theme-monet-active body
    .emoji-picker-expanded.emoji-picker-expanded :is(
        .emoji-picker-mode-tabs, .emoji-picker-search-wrap,
        .emoji-picker-search, .emoji-picker-emoji-view,
        .emoji-picker-grid, .emoji-picker-tabs
    ) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

html:root.adaptive-theme.theme-monet-active body
    .emoji-picker-expanded.emoji-picker-expanded :is(
        .emoji-picker-mode-button.is-active,
        .emoji-picker-tab.is-active,
        .emoji-picker-item:hover
    ) {
    background: var(--theme-surface-active) !important;
    box-shadow: none !important;
}

/* Карточка аватара раньше сохраняла белую Tailwind-рамку и тяжёлую тень,
   хотя соседние Monet-панели уже были плоскими. */
html:root.adaptive-theme.theme-monet-active body
    #profile-sidebar-shell#profile-sidebar-shell > div:first-child {
    border: 0 !important;
    outline: 0 !important;
    border-radius: 1rem !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Заливка принадлежит рамке фотографии, а не квадратной внешней обёртке.
   Изображение наследует тот же радиус, поэтому углы не проступают при
   загрузке, смене аватара и аппаратном масштабировании. */
html:root body #profile-avatar-card > div:first-child,
html:root body #profile-avatar-card > div:first-child > #avatar-img {
    border-radius: 1rem !important;
}

/* Подписка в пространстве — обычное тематическое действие, а не отдельная
   неоновая плашка. Оба состояния остаются внутри пятиступенчатой шкалы. */
html:root.adaptive-theme.theme-monet-active body
    .space-subscribe-split.space-subscribe-split {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body
    .space-left-subscribe.space-left-subscribe,
html:root.adaptive-theme.theme-monet-active body
    .space-left-subscribe.space-left-subscribe:hover {
    border: 0 !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* Светлые и тёмные окна сообщений должны продолжать общую Monet-шкалу.
   Эти явные назначения перекрывают старую смесь msg-menu-surface, которая
   на тёплых палитрах выглядела почти белой. */
html:root.adaptive-theme.theme-monet-active body
    :is(.messenger-attachments-modal, .messenger-room-settings-modal,
        .messenger-poll-modal, .messenger-forward-modal).messenger-new-modal > section {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body
    :is(.messenger-attachments-modal, .messenger-room-settings-modal,
        .messenger-poll-modal, .messenger-forward-modal).messenger-new-modal > section > header,
html:root.adaptive-theme.theme-monet-active body
    .messenger-attachment-filters.messenger-attachment-filters {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body
    .messenger-room-settings-form.messenger-room-settings-form {
    background: var(--theme-surface-nested) !important;
}

/* Медленный режим визуально отделён от последнего обычного разрешения. */
html:root.adaptive-theme.theme-monet-active body
    .messenger-room-policy-content > label.messenger-room-slow-mode {
    margin-top: .72rem !important;
}

/* Старый просмотрщик публикации содержал отдельные правила #fff для светлой
   темы. В Monet его шапка, обсуждение и боковая область продолжают цвет поста. */
html:root.adaptive-theme.theme-monet-active:not(.dark) body
    #post-viewer.is-discussion-mode :is(
        #viewer-post-header, #viewer-comments-block, .viewer-comments-head
    ),
html:root.adaptive-theme.theme-monet-active:not(.dark) body
    #media-viewer .media-viewer-post-slot :is(
        #viewer-sidebar, #viewer-scroll-region, #viewer-post-header,
        #viewer-post-summary, #viewer-comments-block, #viewer-comments-list,
        .viewer-comments-head, .viewer-form-shell, #viewer-form-container
    ) {
    border-color: transparent !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active:not(.dark) body
    #media-viewer .media-viewer-post-slot :is(
        .viewer-form-shell, #viewer-form-container, .comment-node
    ) {
    background: var(--theme-surface-nested) !important;
}

/* ------------[Все модальные окна: без внешней обводки]------------ // Оформляет связанный блок интерфейса.
   Диалоги используют разные реализации (статические панели, динамические
   section и Tailwind ring). Единый финальный слой убирает только внешний
   контур окна; внутренние разделители и уровни поверхностей сохраняются. Модуль: «оформление интерфейса». Часть 12/18 */
html:root body :is(dialog, [role="dialog"], [role="alertdialog"]),
html:root body :is(
    #post-viewer-panel,
    #media-viewer-layout,
    #modal-box,
    .cover-security-dialog,
    #album-create-panel,
    #album-viewer-panel,
    #album-photo-picker-panel,
    #album-access-panel,
    #album-share-panel,
    #album-delete-panel,
    #delete-confirm-modal > div,
    #friend-action-panel,
    .global-search-dialog,
    .signal-probe-dialog,
    .notification-history-dialog,
    .notification-clear-dialog,
    .achievements-dialog,
    .achievement-showcase-dialog,
    .space-showcase-editor-modal,
    .verification-center-panel,
    .content-report-dialog,
    .my-reports-dialog,
    .galaxy-guard-dialog,
    .messenger-photo-viewer,
    .messenger-shared-media-viewer,
    .messenger-forward-modal > section,
    .messenger-confirm-modal > section,
    .messenger-poll-modal > section,
    .messenger-new-modal > section,
    .messenger-room-panel
) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
}

/* У просмотрщиков раньше была более специфичная рамка на вложенной панели. */
html:root body #post-viewer #post-viewer-panel,
html:root body #media-viewer #media-viewer-layout,
html:root body #media-viewer .media-viewer-post-slot,
html:root body #media-viewer .media-viewer-post-slot #viewer-sidebar {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
}

/* ------------[Тема динамически перерисованных публикаций]------------ // Оформляет связанный блок интерфейса.
   Лента заменяет карточки после загрузки, поиска и пагинации. Семантическая
   метка уровня не хранит конкретный цвет: она всегда разрешается через
   актуальные переменные выбранной темы и потому не возвращает старую палитру. Модуль: «оформление интерфейса». Часть 13/18 */
html:root body :is(#feed-posts-container, #posts-container)
    > [data-post-card][data-theme-surface="panel"] {
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body :is(#feed-posts-container, #posts-container)
    > [data-post-card][data-theme-surface="panel"] :is(
        .post-attachment-card,
        .post-file-selection-card,
        .post-media-grid,
        .shared-post-card,
        .post-hashtag-chip
    ) {
    border-color: transparent !important;
    background: var(--theme-surface-nested) !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* ------------[Лента по тону левой панели]------------ // Оформляет связанный блок интерфейса.
   Левая навигация остаётся цветовым эталоном профиля. Шапка ленты,
   динамические карточки публикаций и «Интересы» используют ровно ту же
   переменную, включая дневную и ночную Monet-палитры. Модуль: «оформление интерфейса». Часть 14/18 */
html:root body #profile-layout-grid #content-main .profile-publisher-hub .space-switchboard,
html:root body #tab-feed .feed-search-hub .space-switchboard,
html:root body #profile-layout-grid #content-main #posts-container > [data-post-card],
html:root body #tab-feed #feed-posts-container > [data-post-card],
html:root body #profile-layout-grid #profile-right-rail #profile-interests-card {
    border-color: transparent !important;
    background: var(--vmesta-left-reference-surface) !important;
    background-color: var(--vmesta-left-reference-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root body #profile-layout-grid #content-main #posts-container > [data-post-card]:hover,
html:root body #tab-feed #feed-posts-container > [data-post-card]:hover {
    background: var(--vmesta-left-reference-surface) !important;
    background-color: var(--vmesta-left-reference-surface) !important;
}

/* ------------[Сообщения: только актуальные уровни темы]------------ // Оформляет связанный блок интерфейса.
   Последний слой закрывает старые локальные заливки чатов и опросов.
   Он одинаков для стандартной светлой/тёмной и обеих Monet-тем. Модуль: «оформление интерфейса». Часть 15/18 */
html:root body.messages-route :is(#messages-root, #messages-side-root) {
    --msg-bg: var(--theme-surface-page);
    --msg-panel: var(--vmesta-left-reference-surface);
    --msg-panel-strong: var(--theme-surface-control);
    --msg-line: transparent;
    --msg-text: var(--theme-text-primary);
    --msg-muted: var(--theme-text-muted);
    --msg-accent: var(--theme-accent);
    --msg-menu-surface: var(--theme-surface-control);
    --msg-menu-soft: var(--theme-surface-nested);
    --msg-menu-active: var(--theme-surface-active);
    --msg-search-shell-surface: var(--theme-surface-nested);
    --msg-search-field-surface: var(--theme-surface-control);
    --msg-composer-surface: var(--theme-surface-nested);
    --msg-poll-surface: var(--theme-surface-nested);
    --msg-poll-option-surface: var(--theme-surface-active);
    --msg-poll-option-active: var(--theme-accent);
    --monet-poll-track: var(--theme-surface-active);
    --monet-poll-fill: var(--theme-accent);
    --monet-poll-voters: var(--theme-surface-control);
    --monet-poll-voter-row: var(--theme-surface-nested);
}

html:root body.messages-route :is(
    .messenger-shell,
    .messenger-dialogs-panel,
    .messenger-conversation,
    .messenger-message-stream,
    .messenger-main-header,
    .messenger-conversation-header,
    .messenger-side-section
) {
    border-color: transparent !important;
    background: var(--vmesta-left-reference-surface) !important;
    background-color: var(--vmesta-left-reference-surface) !important;
    background-image: none !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-chat-list {
    border: 0 !important;
    background: var(--vmesta-left-reference-surface) !important;
    background-color: var(--vmesta-left-reference-surface) !important;
    box-shadow: none !important;
}

html:root body.messages-route :is(.messenger-search, .messenger-chat-search) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    background-color: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-chat-row:not(.is-active):not(:hover),
html:root body.messages-route .messenger-chat-row:not(.is-active):not(:hover) .messenger-chat-open {
    background: transparent !important;
}

html:root body.messages-route .messenger-chat-row:is(.is-active, :hover),
html:root body.messages-route .messenger-chat-row:is(.is-active, :hover) .messenger-chat-open {
    border-color: transparent !important;
    background: var(--theme-surface-nested) !important;
    background-color: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-bubble.is-poll {
    --message-shape-fill: var(--theme-surface-nested);
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    background-color: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-option,
html:root body.messages-route .messenger-poll-card .messenger-poll-option:is(:hover, .is-selected) {
    border: 0 !important;
    background: var(--theme-surface-active) !important;
    background-color: var(--theme-surface-active) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-option > .messenger-poll-fill {
    background: var(--theme-accent) !important;
    background-color: var(--theme-accent) !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-option :is(i, em, span) {
    color: inherit !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-option > i {
    border-color: color-mix(in srgb, var(--theme-text-primary) 62%, transparent) !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-public-voters {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    background-color: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-public-voters
    :is(summary, section, section > header) {
    background: transparent !important;
    color: var(--theme-text-primary) !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-public-voters
    section > div > button {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    background-color: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body.messages-route .messenger-poll-card .messenger-poll-public-voters small {
    color: var(--theme-text-muted) !important;
}

html:root body.messages-route .messenger-bubble.is-poll > .messenger-bubble-tail {
    color: var(--theme-surface-nested) !important;
}

html:root body.messages-route .messenger-bubble.is-poll > .messenger-bubble-tail .messenger-bubble-tail-fill {
    fill: var(--theme-surface-nested) !important;
}

/* ------------[Пространства и сообщения по фактическому тону левой панели]------------ // Оформляет связанный блок интерфейса.
   В Monet левая панель окрашивается через adaptive-card-tint. Старые более
   специфичные правила оставляли центр на theme-surface-panel, поэтому светлая
   версия выглядела бледнее, а тёмная проваливалась почти в чёрный. Модуль: «оформление интерфейса». Часть 16/18 */
html:root body {
    --vmesta-route-reference-surface: var(--vmesta-left-reference-surface);
}

html:root.adaptive-theme.theme-monet-active.dark body {
    --vmesta-route-reference-surface: color-mix(in srgb, var(--vmesta-left-reference-surface) 88%, transparent);
}

html:root.adaptive-theme.theme-monet-active body.spaces-catalog-route
    #space-page-root :is(.space-intro-card, .spaces-index-toolbar, .spaces-index-card),
html:root:not(.adaptive-theme) body.spaces-catalog-route
    #space-page-root :is(.space-intro-card, .spaces-index-toolbar, .spaces-index-card) {
    border: 0 !important;
    outline: 0 !important;
    background: var(--vmesta-route-reference-surface) !important;
    background-color: var(--vmesta-route-reference-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Карточка пространства уже имеет нужную несущую поверхность. Внутренняя
   полноразмерная кнопка больше не кладёт поверх неё старый тёмный прямоугольник. */
html:root.adaptive-theme.theme-monet-active body.spaces-catalog-route
    #space-page-root .spaces-index-card :is(.spaces-index-open, .spaces-index-body),
html:root:not(.adaptive-theme) body.spaces-catalog-route
    #space-page-root .spaces-index-card :is(.spaces-index-open, .spaces-index-body) {
    border-color: transparent !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root.adaptive-theme.theme-monet-active body.messages-route
    :is(#messages-root, #messages-side-root) :is(
        .messenger-shell,
        .messenger-dialogs-panel,
        .messenger-conversation,
        .messenger-message-stream,
        .messenger-main-header,
        .messenger-conversation-header,
        .messenger-chat-list,
        .messenger-side-panel,
        .messenger-side-section,
        .messenger-loading
    ),
html:root:not(.adaptive-theme) body.messages-route
    :is(#messages-root, #messages-side-root) :is(
        .messenger-shell,
        .messenger-dialogs-panel,
        .messenger-conversation,
        .messenger-message-stream,
        .messenger-main-header,
        .messenger-conversation-header,
        .messenger-chat-list,
        .messenger-side-panel,
        .messenger-side-section,
        .messenger-loading
    ) {
    border: 0 !important;
    outline: 0 !important;
    background: var(--vmesta-route-reference-surface) !important;
    background-color: var(--vmesta-route-reference-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* ------------[Раздельная правая колонка сообщений]------------ // Оформляет связанный блок интерфейса.
   Общая обёртка отвечает только за раскладку. Каждая секция рисует свою
   карточку, поэтому между «Разделами» и «Контактами» снова виден фон страницы. Модуль: «оформление интерфейса». Часть 17/18 */
html:root body.messages-route #messages-side-root > .messenger-side-panel {
    display: grid !important;
    gap: .72rem !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root body.messages-route #messages-side-root > .messenger-side-panel > .messenger-side-section {
    margin-top: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: var(--vmesta-route-reference-surface, var(--vmesta-left-reference-surface)) !important;
    background-color: var(--vmesta-route-reference-surface, var(--vmesta-left-reference-surface)) !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* ------------[Действия в левой колонке пространства]------------ // Оформляет связанный блок интерфейса.
   Межкнопочный зазор остаётся частью страницы, а уровни «Написать»,
   подписки и счётчика берутся только из текущей темы. Модуль: «оформление интерфейса». Часть 18/18 */
html:root body.space-route #space-left-actions.space-left-actions {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

html:root body.space-route #space-left-actions .space-left-message,
html:root body.space-route #space-left-actions .space-left-message:hover {
    border: 0 !important;
    background: var(--theme-accent, var(--color-dynamic)) !important;
    background-color: var(--theme-accent, var(--color-dynamic)) !important;
    color: var(--theme-text-inverse, #fff) !important;
    box-shadow: none !important;
}

html:root body.space-route #space-left-actions .space-subscribe-split,
html:root body.space-route #space-left-actions .space-subscribe-split:hover {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    background-color: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root body.space-route #space-left-actions .space-left-subscribe,
html:root body.space-route #space-left-actions .space-left-subscribe:hover {
    border: 0 !important;
    background: var(--theme-surface-active) !important;
    background-color: var(--theme-surface-active) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body.space-route #space-left-actions .space-followers-count,
html:root body.space-route #space-left-actions .space-followers-count:hover {
    border: 0 !important;
    border-left: 0 !important;
    background: var(--theme-surface-control) !important;
    background-color: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

/* ------------[Проголосовавшие без растягивания сообщения]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 36/41 */
html:root body.messages-route .messenger-poll-card {
    width: min(20.5rem, 82vw) !important;
}

html:root body.messages-route .messenger-poll-voters-trigger {
    display: grid !important;
    width: 100% !important;
    min-height: 2.35rem !important;
    grid-template-columns: minmax(0, 1fr) auto .9rem !important;
    align-items: center !important;
    gap: .48rem !important;
    border: 0 !important;
    border-radius: .72rem !important;
    padding: .48rem .62rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
    cursor: pointer;
}

html:root body.messages-route .messenger-poll-voters-trigger:hover {
    background: var(--theme-surface-active) !important;
}

html:root body.messages-route .messenger-poll-voters-trigger > span {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .36rem;
    font-size: .58rem;
    font-weight: 850;
    text-align: left;
}

html:root body.messages-route .messenger-poll-voters-trigger > b {
    font-size: .57rem;
    font-variant-numeric: tabular-nums;
}

html:root body.messages-route .messenger-poll-voters-trigger .messenger-icon {
    width: .82rem;
    height: .82rem;
    color: var(--theme-accent) !important;
}

html:root body .messenger-poll-voters-list {
    display: grid;
    min-height: 0;
    align-content: start;
    gap: .75rem;
    padding: .8rem;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--theme-surface-active) transparent;
}

html:root body .messenger-poll-voter-group {
    display: grid;
    gap: .58rem;
    border: 0 !important;
    border-radius: .9rem;
    padding: .7rem;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root body .messenger-poll-voter-group > header {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: .7rem;
    border: 0 !important;
    padding: 0 .12rem !important;
    background: transparent !important;
}

html:root body .messenger-poll-voter-group > header > strong {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.35;
}

html:root body .messenger-poll-voter-group > header > span {
    display: grid;
    min-width: 1.7rem;
    min-height: 1.7rem;
    place-items: center;
    border-radius: 999px;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    font-size: .58rem;
    font-weight: 900;
}

html:root body .messenger-poll-voter-group > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

html:root body .messenger-poll-voter-row {
    display: grid !important;
    min-width: 0;
    min-height: 3.5rem;
    grid-template-columns: 2.45rem minmax(0, 1fr) !important;
    align-items: center;
    gap: .7rem !important;
    border: 0 !important;
    border-radius: .78rem !important;
    padding: .55rem .62rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
    text-align: left;
    box-shadow: none !important;
    cursor: pointer;
}

html:root body .messenger-poll-voter-row:hover {
    background: var(--theme-surface-active) !important;
}

html:root body .messenger-poll-voter-row .messenger-avatar {
    width: 2.45rem !important;
    height: 2.45rem !important;
}

html:root body .messenger-poll-voter-copy {
    display: grid !important;
    min-width: 0;
    gap: .13rem;
}

html:root body .messenger-poll-voter-copy > b,
html:root body .messenger-poll-voter-copy > small {
    display: block;
    min-width: 0;
    overflow: hidden;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html:root body .messenger-poll-voter-copy > b {
    color: var(--theme-text-primary) !important;
    font-size: .7rem;
    font-weight: 850;
}

html:root body .messenger-poll-voter-copy > small {
    color: var(--theme-text-muted) !important;
    font-size: .57rem;
}

/* У длинных ответов и подписи публичности есть собственная ширина и строка. */
html:root body.messages-route .messenger-poll-option-copy {
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.35 !important;
}

html:root body.messages-route .messenger-poll-card > footer {
    align-items: start !important;
    gap: .75rem !important;
    line-height: 1.3 !important;
}

html:root body.messages-route .messenger-poll-card > footer > span {
    min-width: 0;
}

html:root body.messages-route .messenger-poll-card > footer > span > :is(b, small) {
    line-height: 1.3 !important;
}

/* ------------[Друзья без обводки вкладок]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 37/41 */
html:root body #friends-sub-tabs .sub-tab-btn,
html:root body #friends-sub-tabs .sub-tab-btn:is(:hover, :focus, .active) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* ------------[Отступ текста в редакторах публикаций]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 38/41 */
html:root body .profile-post-composer .post-composer-writing-shell > textarea,
html:root body .space-composer .publication-editor-text-shell > .space-composer-text {
    box-sizing: border-box !important;
    padding: .76rem 2.7rem .84rem .82rem !important;
    line-height: 1.45 !important;
    text-indent: 0 !important;
}

/* Заголовок пересылки использует плотный шрифт остального интерфейса. */
html:root body .post-share-modal header h2 {
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 850 !important;
    letter-spacing: -.02em !important;
    line-height: 1.2 !important;
}

/* ------------[Компактный popover проголосовавших]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 39/41 */
html:root body .messenger-poll-voters-popover {
    position: fixed;
    z-index: 4200;
    display: grid;
    width: min(22rem, calc(100vw - 1.5rem));
    max-height: min(27rem, calc(100dvh - 1.5rem));
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 0 !important;
    border-radius: 1rem;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1.1rem 3rem color-mix(in srgb, #000 24%, transparent) !important;
    animation: messengerPollPopoverIn .16s ease-out both;
}

html:root body .messenger-poll-voters-popover::after {
    content: '';
    position: absolute;
    left: calc(50% - .45rem);
    bottom: -.4rem;
    width: .9rem;
    height: .9rem;
    border-radius: .18rem;
    background: var(--theme-surface-panel);
    transform: rotate(45deg);
}

html:root body .messenger-poll-voters-popover.opens-below::after {
    top: -.4rem;
    bottom: auto;
}

@keyframes messengerPollPopoverIn {
    from { opacity: 0; transform: translateY(.35rem) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

html:root body .messenger-poll-voters-popover > header,
html:root body .messenger-poll-voters-popover > footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
}

html:root body .messenger-poll-voters-popover > header {
    padding: .8rem .85rem .6rem;
}

html:root body .messenger-poll-voters-popover > header h2 {
    margin: .08rem 0 0;
    font-size: .86rem;
    font-weight: 900;
}

html:root body .messenger-poll-voters-popover > header > button {
    display: grid;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 auto;
    place-items: center;
    border: 0 !important;
    border-radius: .62rem;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-secondary) !important;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voters-list {
    grid-template-columns: 1fr;
    gap: .55rem;
    padding: .25rem .7rem .7rem;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-group {
    gap: .42rem;
    padding: .58rem;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-group > div {
    grid-template-columns: 1fr;
    gap: .38rem;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-row {
    min-height: 3rem;
    grid-template-columns: 2rem minmax(0, 1fr) !important;
    gap: .55rem !important;
    padding: .42rem .5rem !important;
}

html:root body .messenger-poll-voters-popover .messenger-poll-voter-row .messenger-avatar {
    width: 2rem !important;
    height: 2rem !important;
}

html:root body .messenger-poll-voters-popover > footer {
    padding: .6rem .82rem;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-secondary) !important;
    font-size: .57rem;
    font-weight: 750;
}

html:root body .messenger-poll-voters-popover > footer > span {
    display: flex;
    align-items: center;
    gap: .32rem;
}

html:root body .messenger-poll-voters-popover > footer .messenger-icon {
    width: .72rem;
    height: .72rem;
    color: var(--theme-accent) !important;
}

/* ------------[Интерактивный уровень]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 40/41 */
html:root body .top-level-widget,
html:root body .achievement-level-trigger {
    width: 100%;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: inherit;
    font: inherit;
    text-align: inherit;
    box-shadow: none !important;
    cursor: pointer;
}

html:root body .top-level-widget {
    width: 8.125rem;
    padding: .28rem .35rem;
    border-radius: .62rem;
}

html:root body .top-level-widget:hover,
html:root body .achievement-level-trigger:hover {
    background: var(--theme-surface-control) !important;
}

html:root body .achievement-level-trigger {
    display: block;
    border-top: 0 !important;
    border-radius: .8rem;
    padding: .75rem .55rem .4rem !important;
}

html:root body .achievement-row.is-level-link {
    cursor: pointer;
}

html:root body .achievement-row.is-level-link:hover {
    background: var(--theme-surface-active) !important;
}

/* ------------[Окна уровня и настройки HP]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 41/41 */
html:root body .level-details-modal {
    position: fixed;
    inset: 0;
    z-index: 5200;
    display: grid;
    place-items: center;
    padding: 1rem;
}

html:root body .level-details-modal.hidden { display: none !important; }

html:root body .level-modal-backdrop {
    position: absolute;
    inset: 0;
    border: 0 !important;
    background: color-mix(in srgb, #08080b 62%, transparent) !important;
    backdrop-filter: blur(.45rem);
}

html:root body .level-details-modal > section {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(38rem, 100%);
    max-height: min(46rem, calc(100dvh - 2rem));
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 0 !important;
    border-radius: 1.25rem;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1.5rem 4rem color-mix(in srgb, #000 28%, transparent) !important;
}

html:root body .level-details-modal > section > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.05rem 1.1rem .8rem;
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
}

html:root body .level-details-modal > section > header span,
html:root body .level-subject small,
html:root body .level-how-card header small {
    display: block;
    color: var(--theme-accent) !important;
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .16em;
}

html:root body .level-details-modal > section > header h2 {
    margin: .12rem 0 0;
    font-size: 1.15rem;
    font-weight: 900;
}

html:root body .level-details-modal > section > header p {
    margin: .2rem 0 0;
    color: var(--theme-text-muted) !important;
    font-size: .64rem;
}

html:root body .level-details-modal > section > header > button {
    display: grid;
    width: 2.2rem;
    height: 2.2rem;
    flex: 0 0 auto;
    place-items: center;
    border: 0 !important;
    border-radius: .72rem;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 1.15rem;
}

html:root body .level-details-body,
html:root body .level-settings-modal form {
    min-height: 0;
    padding: .25rem 1rem 1rem;
    overflow-y: auto;
}

html:root body .level-subject {
    display: grid;
    grid-template-columns: 3.35rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    border: 0 !important;
    border-radius: 1rem;
    padding: .8rem;
    background: var(--theme-surface-nested) !important;
}

html:root body .level-subject-avatar {
    display: grid;
    width: 3.35rem;
    height: 3.35rem;
    place-items: center;
    overflow: hidden;
    border-radius: .9rem;
    background: var(--theme-surface-control) !important;
}

html:root body .level-subject-avatar img { width: 100%; height: 100%; object-fit: cover; }
html:root body .level-subject > span:nth-child(2) { display: grid; min-width: 0; gap: .12rem; }
html:root body .level-subject > span:nth-child(2) strong { overflow: hidden; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .level-subject > span:nth-child(2) em { color: var(--theme-text-muted) !important; font-size: .62rem; font-style: normal; }
html:root body .level-subject-stats { display:grid; min-width:5.2rem; justify-items:center; gap:.3rem; }
html:root body .level-subject-stats > b { color: var(--theme-accent) !important; font-size: 1rem; font-weight: 950; }
html:root body .level-wallet-button { display:grid; min-width:5.2rem; grid-template-columns:1rem minmax(1rem,auto); grid-template-rows:auto auto; align-items:center; justify-content:center; column-gap:.35rem; border:0 !important; border-radius:.65rem; padding:.38rem .52rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; cursor:pointer; }
html:root body .level-wallet-button:hover { background:var(--theme-surface-active) !important; transform:translateY(-1px); }
html:root body .level-wallet-button svg { grid-row:1/3; width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
html:root body .level-wallet-button span { align-self:end; color:var(--theme-text-primary) !important; font-family:Arial,sans-serif; font-size:.72rem; font-weight:950; line-height:1; }
html:root body .level-wallet-button small { align-self:start; color:var(--theme-text-muted) !important; font-size:.4rem; font-weight:850; letter-spacing:.07em; line-height:1.05; text-transform:uppercase; }

html:root body .level-progress-card,
html:root body .level-how-card {
    margin-top: .72rem;
    border: 0 !important;
    border-radius: 1rem;
    padding: .82rem;
    background: var(--theme-surface-nested) !important;
}

html:root body .level-progress-card > div:first-child { display: flex; justify-content: space-between; gap: 1rem; }
html:root body .level-progress-card > div:first-child span { display: grid; gap: .12rem; }
html:root body .level-progress-card > div:first-child span:last-child { text-align: right; }
html:root body .level-progress-card small { color: var(--theme-text-muted) !important; font-size: .56rem; }
html:root body .level-progress-card strong { font-size: .82rem; }

html:root body .level-progress-track {
    height: .58rem;
    margin-top: .72rem;
    overflow: hidden;
    border-radius: 999px;
    background: var(--theme-surface-control) !important;
}

html:root body .level-progress-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--theme-accent) !important;
}

html:root body .level-progress-card p,
html:root body .level-how-card > p {
    margin: .55rem 0 0;
    color: var(--theme-text-secondary) !important;
    font-size: .62rem;
    line-height: 1.45;
}

html:root body .level-how-card header strong { display: block; margin-top: .12rem; font-size: .78rem; }
html:root body .level-how-card ul { display: grid; gap: .38rem; margin: .65rem 0 0; padding: 0; list-style: none; }
html:root body .level-how-card li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    border-radius: .72rem;
    padding: .52rem .58rem;
    background: var(--theme-surface-control) !important;
}
html:root body .level-how-card li > span { display: grid; min-width: 0; gap: .08rem; }
html:root body .level-how-card li strong { font-size: .66rem; }
html:root body .level-how-card li small { color: var(--theme-text-muted) !important; font-size: .54rem; line-height: 1.35; }
html:root body .level-how-card li > b { flex: 0 0 auto; color: var(--theme-accent) !important; font-size: .63rem; }

html:root body .level-settings-modal > section { width: min(42rem, 100%); }
html:root body .level-settings-modal form { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; padding: 0; overflow: hidden; }
html:root body .level-settings-tools { display:grid; gap:.6rem; padding:.25rem 1rem .7rem; border-bottom:1px solid var(--theme-border-subtle); background:var(--theme-surface-panel) !important; }
html:root body .level-settings-tools > label { display:flex; align-items:center; gap:.5rem; min-height:2.5rem; border:1px solid var(--theme-border-subtle); border-radius:.8rem; padding:0 .75rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; }
html:root body .level-settings-tools > label svg { width:1rem; height:1rem; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:2; }
html:root body .level-settings-tools > label input { width:100%; border:0 !important; outline:0 !important; background:transparent !important; color:var(--theme-text-primary) !important; font-size:.68rem; font-weight:750; }
html:root body .level-settings-tools > nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.32rem; }
html:root body .level-settings-tools > nav button { display:flex; min-width:0; min-height:1.95rem; align-items:center; justify-content:center; gap:.3rem; border:1px solid transparent !important; border-radius:.64rem; padding:0 .34rem; background:var(--theme-surface-nested) !important; color:var(--theme-text-secondary) !important; font-size:.52rem; font-weight:900; cursor:pointer; }
html:root body .level-settings-tools > nav button svg { width:.82rem; height:.82rem; flex:0 0 auto; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
html:root body .level-settings-tools > nav button span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
html:root body .level-settings-tools > nav button.is-active { border-color:color-mix(in srgb,var(--theme-accent) 46%,transparent) !important; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; box-shadow:0 .42rem 1rem color-mix(in srgb,var(--theme-accent) 20%,transparent); }
html:root body .level-settings-list { display: grid; gap: .5rem; padding: .3rem 1rem 1rem; overflow-y: auto; }
html:root body .level-market-accordion { display:grid; gap:.55rem; }
html:root body .level-market-accordion-item { overflow:hidden; border:1px solid var(--theme-border-subtle); border-radius:.9rem; background:var(--theme-surface-nested) !important; }
html:root body .level-market-accordion-item.is-open { border-color:color-mix(in srgb,var(--theme-accent) 34%,var(--theme-border-subtle)); box-shadow:0 .55rem 1.25rem color-mix(in srgb,var(--theme-accent) 8%,transparent); }
html:root body .level-market-accordion-toggle { display:flex; width:100%; min-height:3.4rem; align-items:center; justify-content:space-between; gap:.7rem; border:0 !important; padding:.68rem .82rem; background:transparent !important; color:var(--theme-text-primary) !important; text-align:left; cursor:pointer; }
html:root body .level-market-accordion-toggle > span:first-child { display:grid; min-width:0; gap:.13rem; }
html:root body .level-market-accordion-toggle strong { overflow:hidden; font-size:.68rem; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
html:root body .level-market-accordion-toggle small { overflow:hidden; color:var(--theme-text-muted) !important; font-size:.5rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
html:root body .level-market-accordion-side { display:flex; flex:none; align-items:center; gap:.6rem; }
html:root body .level-market-accordion-side > b { display:grid; min-width:1.55rem; height:1.55rem; place-items:center; border-radius:999px; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; font-size:.48rem; font-weight:950; }
html:root body .level-market-accordion-side svg { width:.9rem; height:.9rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:2; transition:transform .2s ease; }
html:root body .level-market-accordion-item.is-open .level-market-accordion-side svg { transform:rotate(180deg); }
html:root body .level-market-accordion-content { display:grid; gap:.55rem; border-top:1px solid var(--theme-border-subtle); padding:.25rem .8rem .8rem; background:var(--theme-surface-panel) !important; }
html:root body .level-market-accordion-item:not(.is-open) > .level-market-accordion-content { display:none; }
html:root body .level-settings-list.has-empty-search::after { content:"Настройки по этому запросу не найдены"; display:grid; min-height:9rem; place-items:center; color:var(--theme-text-muted); font-size:.65rem; font-weight:800; }
html:root body .level-settings-group { display: grid; gap: .48rem; }
html:root body .level-settings-group + .level-settings-group { margin-top: .45rem; }
html:root body .level-settings-group > header { display: grid; gap: .12rem; padding: .5rem .25rem .2rem; }
html:root body .level-settings-group > header span { color: var(--theme-accent) !important; font-size: .5rem; font-weight: 950; letter-spacing: .16em; }
html:root body .level-settings-group > header strong { font-size: .82rem; }
html:root body .level-settings-group > header small { color: var(--theme-text-muted) !important; font-size: .58rem; line-height: 1.45; }
html:root body .level-settings-group > div { display: grid; gap: .5rem; }
html:root body .level-settings-group label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10rem, 14rem);
    align-items: center;
    gap: .85rem;
    border: 0 !important;
    border-radius: .9rem;
    padding: .7rem .75rem;
    background: var(--theme-surface-nested) !important;
}
html:root body .level-settings-group label > span:first-child { display: grid; min-width: 0; gap: .13rem; }
html:root body .level-gift-setting { display:grid !important; grid-template-columns:2.8rem minmax(0,1fr); align-items:center; gap:.55rem !important; }
html:root body .level-gift-setting > i { display:grid; width:2.2rem; height:2.2rem; place-items:center; border-radius:.68rem; background:var(--theme-surface-control); font-size:1.25rem; font-style:normal; }
html:root body .level-gift-setting > span { display:grid; gap:.12rem; }
html:root body .level-settings-list strong { font-size: .71rem; }
html:root body .level-settings-list small { color: var(--theme-text-muted) !important; font-size: .57rem; line-height: 1.35; }
html:root body .level-setting-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .35rem; border-radius: .7rem; padding: .18rem .5rem; background: var(--theme-surface-control) !important; }
html:root body .level-setting-input input { width: 100%; border: 0 !important; outline: 0 !important; padding: .45rem 0; background: transparent !important; color: var(--theme-text-primary) !important; font-size: .75rem; font-weight: 850; }
html:root body .level-setting-input b { color: var(--theme-accent) !important; font-size: .57rem; }
html:root body .level-setting-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: .4rem; align-items: center; }
html:root body .level-setting-controls > em { justify-self: end; color: var(--theme-text-muted) !important; font-size: .55rem; font-style: normal; font-weight: 850; }
html:root body .level-sticker-price-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(14rem,19rem); align-items:center; gap:.85rem; border-radius:.9rem; padding:.7rem .75rem; background:var(--theme-surface-nested) !important; }
html:root body .level-sticker-price-controls { display:grid; grid-template-columns:minmax(6rem,.72fr) minmax(8.5rem,1.28fr); align-items:end; gap:.45rem; }
html:root body :is(.level-sticker-price-field,.level-sticker-type-field) { display:grid; min-width:0; gap:.22rem; }
html:root body :is(.level-sticker-price-field,.level-sticker-type-field) > small { font-size:.49rem; font-weight:850; }
html:root body .level-sticker-type-field select { box-sizing:border-box; width:100%; min-height:2.15rem; border:1px solid var(--theme-border-subtle); border-radius:.7rem; padding:0 .55rem; background:var(--theme-surface-control); color:var(--theme-text-primary); font-size:.57rem; font-weight:800; }
html:root body .level-sticker-type-field select:disabled { opacity:.68; cursor:not-allowed; }
html:root body .level-settings-modal form > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border: 0 !important; padding: .75rem 1rem; background: var(--theme-surface-nested) !important; }
html:root body .level-settings-modal form > footer span { color: var(--theme-text-muted) !important; font-size: .57rem; }
html:root body .level-settings-modal form > footer button { border: 0 !important; border-radius: .72rem; padding: .65rem .85rem; background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; font-size: .62rem; font-weight: 900; }
html:root body .level-modal-loading,
html:root body .level-modal-error { padding: 1.5rem; color: var(--theme-text-muted) !important; font-size: .68rem; text-align: center; }

html:root body .level-up-celebration-modal > section {
    display: block;
    width: min(29rem, 100%);
    overflow: visible;
    background:
        radial-gradient(circle at 50% 0, color-mix(in srgb, var(--theme-accent) 22%, transparent), transparent 48%),
        var(--theme-surface-panel) !important;
}
html:root body .level-up-celebration-close { position:absolute; z-index:2; top:.85rem; right:.85rem; display:grid; width:2.15rem; height:2.15rem; place-items:center; border:0 !important; border-radius:.72rem; background:var(--theme-surface-control) !important; color:var(--theme-text-secondary) !important; font-size:1.05rem; }
html:root body #level-up-celebration-body { display:grid; justify-items:center; padding:2.1rem 1.35rem 1.35rem; text-align:center; }
html:root body .level-up-orbit { position:relative; display:grid; width:6.2rem; height:6.2rem; place-items:center; margin-bottom:.9rem; border-radius:50%; background:color-mix(in srgb,var(--theme-accent) 13%,var(--theme-surface-control)) !important; box-shadow:0 1rem 2.7rem color-mix(in srgb,var(--theme-accent) 22%,transparent); }
html:root body .level-up-orbit::before,
html:root body .level-up-orbit::after { content:""; position:absolute; inset:50% auto auto 50%; width:7.9rem; height:2.85rem; border:2px solid color-mix(in srgb,var(--theme-accent) 58%,transparent); border-radius:50%; transform:translate(-50%,-50%) rotate(-14deg); }
html:root body .level-up-orbit::after { width:.65rem; height:.65rem; border:0; background:var(--theme-accent) !important; transform:translate(2.65rem,-2rem); box-shadow:-5.6rem 2rem 0 color-mix(in srgb,var(--theme-accent) 54%,transparent); }
html:root body .level-up-orbit i { position:relative; z-index:1; display:grid; width:4.25rem; height:4.25rem; place-items:center; border-radius:1.25rem; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; font-size:1.75rem; font-style:normal; font-weight:950; }
html:root body #level-up-celebration-body > small { color:var(--theme-accent) !important; font-size:.55rem; font-weight:950; letter-spacing:.18em; }
html:root body #level-up-celebration-body > h2 { margin:.28rem 0 0; color:var(--theme-text-primary) !important; font-size:1.35rem; font-weight:950; }
html:root body #level-up-celebration-body > p { max-width:23rem; margin:.55rem 0 0; color:var(--theme-text-secondary) !important; font-size:.7rem; line-height:1.55; }
html:root body .level-up-coin-reward { display:flex; width:min(20rem,100%); align-items:center; gap:.72rem; margin-top:1rem; border-radius:1rem; padding:.72rem .82rem; background:var(--theme-surface-nested) !important; text-align:left; }
html:root body .level-up-coin-reward > span { display:grid; width:2.7rem; height:2.7rem; flex:0 0 auto; place-items:center; border-radius:.8rem; background:color-mix(in srgb,#f59e0b 18%,var(--theme-surface-control)) !important; color:#d97706 !important; font-size:1.2rem; font-weight:950; }
html:root body .level-up-coin-reward > div { display:grid; gap:.12rem; }
html:root body .level-up-coin-reward small { color:var(--theme-text-muted) !important; font-size:.48rem; font-weight:900; letter-spacing:.12em; }
html:root body .level-up-coin-reward strong { color:var(--theme-text-primary) !important; font-size:.78rem; }
html:root body .level-up-celebration-actions { display:grid; width:min(20rem,100%); grid-template-columns:1fr 1fr; gap:.5rem; margin-top:1rem; }
html:root body .level-up-celebration-actions button { min-height:2.65rem; border:0 !important; border-radius:.78rem; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; font-size:.62rem; font-weight:900; }
html:root body .level-up-celebration-actions button.is-secondary { background:var(--theme-surface-control) !important; color:var(--theme-text-primary) !important; }

html:root body .level-manual-coin-grant { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(6.6rem,.7fr); gap:.55rem; border-radius:1rem; padding:.75rem; background:var(--theme-surface-nested) !important; }
html:root body .level-settings-group .level-manual-coin-grant > label { display:grid; grid-template-columns:1fr; gap:.25rem; border:0 !important; border-radius:0; padding:0; background:transparent !important; }
html:root body .level-settings-group .level-manual-coin-grant > label.is-reason { grid-column:1 / -1; }
html:root body .level-manual-coin-grant label > span { color:var(--theme-text-secondary) !important; font-size:.54rem; font-weight:850; }
html:root body .level-manual-coin-grant input { width:100%; min-height:2.45rem; border:1px solid var(--theme-border-subtle) !important; border-radius:.72rem; outline:0 !important; padding:0 .7rem; background:var(--theme-surface-control) !important; color:var(--theme-text-primary) !important; font-size:.67rem; font-weight:750; }
html:root body .level-manual-coin-grant input:focus { border-color:color-mix(in srgb,var(--theme-accent) 58%,transparent) !important; box-shadow:0 0 0 .18rem color-mix(in srgb,var(--theme-accent) 12%,transparent); }
html:root body .level-manual-coin-grant > button { min-height:2.55rem; grid-column:1 / -1; border:0 !important; border-radius:.75rem; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; font-size:.62rem; font-weight:900; }
html:root body .level-manual-coin-grant > button:disabled { opacity:.55; cursor:wait; }
html:root body .level-manual-coin-status { min-height:.9rem; grid-column:1 / -1; margin:0; color:var(--theme-text-muted) !important; font-size:.56rem; font-weight:800; }
html:root body .level-manual-coin-status.is-success { color:var(--theme-accent) !important; }
html:root body .level-manual-coin-status.is-error { color:var(--theme-danger,#ef4444) !important; }

@media (max-width: 640px) {
    html:root body .level-details-modal { padding: .55rem; }
    html:root body .level-details-modal > section { max-height: calc(100dvh - 1.1rem); border-radius: 1rem; }
    html:root body .level-settings-group label { grid-template-columns: 1fr; }
    html:root body .level-manual-coin-grant { grid-template-columns:1fr; }
    html:root body .level-settings-group .level-manual-coin-grant > label.is-reason { grid-column:auto; }
    html:root body .level-settings-modal form > footer { align-items: stretch; flex-direction: column; }
    html:root body .level-settings-modal form > footer button { width: 100%; }
}

/* ------------[Единый магазин подарков]------------ // Каталог и отправка больше не дублируются в центре истории. */
html:root body .vmesta-market-heading { min-width: 0; }
html:root body .vmesta-market-gift-search { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 2.4rem; gap: .35rem; }
html:root body .vmesta-market-gift-search[hidden] { display: none; }
html:root body .vmesta-market-gift-search > label { display: flex; min-width: 0; align-items: center; gap: .5rem; border-radius: .78rem; padding: 0 .75rem; background: var(--theme-surface-control); color: var(--theme-accent); }
html:root body .vmesta-market-gift-search svg { width: 1rem; height: 1rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
html:root body .vmesta-market-gift-search input { width: 100%; min-width: 0; height: 2.4rem; border: 0; outline: 0; background: transparent; color: var(--theme-text-primary); font: 800 .61rem/1 inherit; }
html:root body .vmesta-market-gift-search > button { display: grid; width: 2.4rem; height: 2.4rem; place-items: center; border: 0; border-radius: .78rem; background: var(--theme-surface-control); color: var(--theme-accent); cursor: pointer; }
html:root body .vmesta-market-gift-filter { position: absolute; z-index: 12; top: calc(100% + .45rem); right: 0; display: none; width: min(18rem, 80vw); max-height: 22rem; overflow: auto; gap: .25rem; border-radius: .9rem; padding: .65rem; background: var(--theme-surface-panel); box-shadow: 0 1.1rem 3rem rgb(0 0 0 / .22); }
html:root body .vmesta-market-gift-filter.is-open { display: grid; }
html:root body .vmesta-market-gift-filter > small { padding: .25rem .35rem; color: var(--theme-accent); font-size: .46rem; font-weight: 950; letter-spacing: .14em; }
html:root body .vmesta-market-gift-filter > button { display: flex; min-height: 2.2rem; align-items: center; justify-content: space-between; border: 0; border-radius: .62rem; padding: .45rem .6rem; background: transparent; color: var(--theme-text-secondary); font-size: .56rem; font-weight: 850; cursor: pointer; }
html:root body .vmesta-market-gift-filter > button:hover,
html:root body .vmesta-market-gift-filter > button.is-active { background: var(--theme-surface-active); color: var(--theme-accent); }
html:root body .vmesta-market-gift-filter b { display: grid; min-width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 999px; background: var(--theme-surface-control); font-size: .48rem; }
html:root body .vmesta-market-gift-catalog { position: relative; display: grid; gap: .8rem; }
html:root body .vmesta-market-gift-categories { display: flex; gap: .42rem; overflow-x: auto; padding: .05rem .05rem .35rem; scrollbar-width: thin; }
html:root body .vmesta-market-gift-categories > button { display: flex; flex: 0 0 auto; min-height: 2.25rem; align-items: center; gap: .42rem; border: 0; border-radius: 999px; padding: .48rem .75rem; background: var(--theme-surface-panel); color: var(--theme-text-secondary); font-size: .55rem; font-weight: 900; cursor: pointer; }
html:root body .vmesta-market-gift-categories > button.is-active { background: var(--theme-accent); color: var(--theme-accent-contrast, #fff); }
html:root body .vmesta-market-gift-categories b { display: grid; min-width: 1.25rem; height: 1.25rem; place-items: center; border-radius: 999px; background: color-mix(in srgb, currentColor 12%, transparent); font-size: .45rem; }
html:root body .vmesta-market-gift-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
html:root body .vmesta-market-gift-card { position: relative; min-height: 10.5rem; overflow: hidden; border: 0; outline: 0; border-radius: 1.05rem; background: var(--theme-surface-panel); color: var(--theme-text-primary); box-shadow: none; transition: transform .16s ease, background-color .16s ease, box-shadow .16s ease; }
html:root body .vmesta-market-gift-card:hover { transform: translateY(-2px); background: var(--theme-surface-active); }
html:root body .vmesta-market-gift-card.is-selected { background: color-mix(in srgb, var(--theme-accent) 13%, var(--theme-surface-panel)); box-shadow: 0 .75rem 1.8rem color-mix(in srgb, var(--theme-accent) 13%, transparent); }
html:root body .vmesta-market-gift-select { display: grid; width: 100%; min-height: 10.5rem; place-items: center; align-content: center; gap: .35rem; border: 0; outline: 0; padding: .8rem .65rem 1.3rem; background: transparent; color: inherit; cursor: pointer; }
html:root body .vmesta-market-gift-card.is-selected .vmesta-market-gift-select { padding-bottom: 3.6rem; }
html:root body .vmesta-market-gift-select > span { display: grid; width: 5.1rem; height: 5.1rem; place-items: center; }
html:root body .vmesta-market-gift-card .gift-artwork-svg { width: 100%; height: 100%; }
html:root body .vmesta-market-gift-select > strong { max-width: 100%; overflow: hidden; font-size: .65rem; font-weight: 950; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
html:root body .vmesta-market-gift-select > small { color: var(--theme-text-muted); font-size: .45rem; font-weight: 800; text-transform: uppercase; }
html:root body .vmesta-market-gift-select > em { position: absolute; right: .55rem; top: .55rem; border-radius: .48rem; padding: .25rem .4rem; background: var(--theme-surface-control); color: var(--theme-accent); font-size: .5rem; font-style: normal; font-weight: 950; }
html:root body .vmesta-market-gift-send { position: absolute; right: .7rem; bottom: .65rem; left: .7rem; display: flex; min-height: 2.25rem; align-items: center; justify-content: center; gap: .4rem; border: 0; border-radius: .7rem; background: var(--theme-accent); color: var(--theme-accent-contrast, #fff); font-size: .57rem; font-weight: 950; cursor: pointer; box-shadow: 0 .5rem 1.2rem color-mix(in srgb, var(--theme-accent) 22%, transparent); }
html:root body .vmesta-market-gift-send svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
html:root body .vmesta-market-gift-empty { grid-column: 1 / -1; display: grid; min-height: 20rem; place-items: center; align-content: center; gap: .55rem; color: var(--theme-text-muted); text-align: center; }
html:root body .vmesta-market-gift-empty > svg { width: 3rem; fill: none; stroke: var(--theme-accent); stroke-width: 1.5; }
html:root body .vmesta-market-gift-empty strong { color: var(--theme-text-primary); font-size: .8rem; }
html:root body .vmesta-market-gift-empty span { font-size: .58rem; }

html:root body .gift-shop-compose-modal { position: fixed; inset: 0; z-index: 10140; display: grid; place-items: center; padding: 1rem; }
html:root body .gift-shop-compose-modal.hidden { display: none; }
html:root body .gift-shop-compose-backdrop { position: absolute; inset: 0; border: 0; background: rgb(5 19 23 / .72); backdrop-filter: blur(.7rem); }
html:root body .gift-shop-compose-dialog { position: relative; z-index: 1; width: min(62rem, 100%); max-height: calc(100dvh - 2rem); overflow: auto; border-radius: 1.4rem; padding: 1rem; background: var(--theme-surface-panel); box-shadow: 0 2rem 6rem rgb(0 0 0 / .38); }
html:root body .gift-shop-compose-close { position: absolute; z-index: 3; top: .8rem; right: .8rem; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 0; border-radius: .75rem; background: var(--theme-surface-control); color: var(--theme-text-secondary); cursor: pointer; }
html:root body .gift-shop-compose-close svg { width: 1rem; fill: none; stroke: currentColor; stroke-width: 2; }
html:root body #gift-shop-compose-content { display: grid; grid-template-columns: minmax(18rem, 1fr) minmax(19rem, .85fr); gap: 1rem; }
html:root body .gift-shop-compose-art { display: grid; min-height: 32rem; place-items: center; align-content: center; overflow: hidden; border-radius: 1.1rem; padding: 2rem; background: linear-gradient(145deg, color-mix(in srgb, var(--theme-accent) 10%, var(--theme-surface-control)), color-mix(in srgb, #ed4772 10%, var(--theme-surface-panel))); text-align: center; }
html:root body .gift-shop-compose-art > small { color: var(--theme-accent); font-size: .48rem; font-weight: 950; letter-spacing: .18em; }
html:root body .gift-shop-compose-art > div { width: min(16rem, 70%); margin: 1.2rem auto .75rem; }
html:root body .gift-shop-compose-art .gift-artwork-svg { width: 100%; height: auto; }
html:root body .gift-shop-compose-art h2 { margin: 0; color: var(--theme-text-primary); font-size: 1.45rem; font-weight: 950; }
html:root body .gift-shop-compose-art p { margin: .3rem 0 .8rem; color: var(--theme-text-muted); font-size: .58rem; text-transform: uppercase; }
html:root body .gift-shop-compose-art > strong { border-radius: 999px; padding: .45rem .72rem; background: var(--theme-surface-panel); color: var(--theme-accent); font-size: .65rem; }
html:root body .gift-shop-compose-form { position: static; align-self: stretch; display: grid; align-content: center; border: 0; border-radius: 1.1rem; padding: 1.15rem; background: var(--theme-surface-nested); box-shadow: none; }

@media (max-width: 980px) {
    html:root body .vmesta-market-gift-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    html:root body .vmesta-market-gift-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    html:root body .vmesta-market-gift-card { min-height: 9rem; }
    html:root body #gift-shop-compose-content { grid-template-columns: 1fr; }
    html:root body .gift-shop-compose-art { min-height: 15rem; }
    html:root body .gift-shop-compose-art > div { width: 8rem; }
}
@media (max-width: 460px) {
    html:root body .vmesta-market-gift-search { grid-row: 2; }
    html:root body .gift-shop-compose-modal { padding: .45rem; }
    html:root body .gift-shop-compose-dialog { max-height: calc(100dvh - .9rem); padding: .65rem; }
}

/* V2.0.46 — безопасный выбор получателя и магазин наград пространств. */
html:root body .level-market-user-picker { position:relative; z-index:8; }
html:root body .level-market-user-results { position:absolute; z-index:40; inset:calc(100% + .28rem) 0 auto; display:grid; gap:.28rem; max-height:14rem; overflow:auto; border:1px solid var(--theme-border-subtle); border-radius:.85rem; padding:.36rem; background:var(--theme-surface-elevated,var(--theme-surface-panel)) !important; box-shadow:0 1rem 2.2rem color-mix(in srgb,var(--theme-shadow,#10233f) 22%,transparent); }
html:root body .level-market-user-results[hidden], html:root body .level-market-user-selected[hidden] { display:none !important; }
html:root body .level-market-user-results > button { display:grid; grid-template-columns:2.3rem minmax(0,1fr) auto; align-items:center; gap:.55rem; min-height:3.05rem; border:0 !important; border-radius:.68rem; padding:.38rem .5rem; text-align:left; background:transparent !important; color:var(--theme-text-primary) !important; }
html:root body .level-market-user-results > button:hover { background:var(--theme-surface-control) !important; }
html:root body .level-market-user-results > button > span:nth-child(2) { display:grid; min-width:0; gap:.08rem; }
html:root body .level-market-user-results strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.64rem; }
html:root body .level-market-user-results small { color:var(--theme-text-muted) !important; font-size:.55rem; }
html:root body .level-market-user-results em { color:var(--theme-accent) !important; font-size:.53rem; font-style:normal; font-weight:900; }
html:root body .level-market-user-avatar { position:relative; display:grid !important; width:2.3rem; height:2.3rem; place-items:center; }
html:root body .level-market-user-avatar img { width:100%; height:100%; border-radius:.72rem; object-fit:cover; }
html:root body .level-market-user-avatar i { display:grid; width:100%; height:100%; place-items:center; border-radius:.72rem; background:var(--theme-surface-control); font-style:normal; }
html:root body .level-market-user-avatar b { position:absolute; right:-.05rem; bottom:-.05rem; width:.55rem; height:.55rem; border:.12rem solid var(--theme-surface-panel); border-radius:50%; background:var(--theme-text-muted); }
html:root body .level-market-user-avatar b.is-online { background:var(--theme-accent); }
html:root body .level-market-user-loading, html:root body .level-market-user-empty { padding:.65rem; color:var(--theme-text-muted) !important; font-size:.58rem; font-weight:800; text-align:center; }
html:root body .level-market-user-selected { display:grid; grid-template-columns:2rem minmax(0,1fr) auto; align-items:center; gap:.48rem; margin-top:.28rem; border-radius:.7rem; padding:.34rem .45rem; background:color-mix(in srgb,var(--theme-accent) 10%,var(--theme-surface-control)) !important; }
html:root body .level-market-user-selected img, html:root body .level-market-user-selected > i { display:grid; width:2rem; height:2rem; place-items:center; border-radius:.62rem; object-fit:cover; background:var(--theme-surface-panel); font-style:normal; }
html:root body .level-market-user-selected > span { display:grid; gap:.05rem; }
html:root body .level-market-user-selected strong { color:var(--theme-text-primary) !important; font-size:.61rem; }
html:root body .level-market-user-selected small { color:var(--theme-text-muted) !important; font-size:.52rem; }
html:root body .level-market-user-selected > b { color:var(--theme-accent) !important; }
html:root body .level-space-reward-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; padding:.55rem !important; }
html:root body .level-settings-group .level-space-reward-grid > label { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.5rem; min-height:4.1rem; border:1px solid var(--theme-border-subtle) !important; border-radius:.86rem; padding:.52rem; background:var(--theme-surface-nested) !important; }
html:root body .level-space-reward-summary { display:grid !important; grid-template-columns:2.4rem minmax(0,1fr); align-items:center; gap:.48rem; }
html:root body .level-space-reward-summary > i { display:grid; width:2.4rem; height:2.4rem; place-items:center; border-radius:.72rem; background:var(--theme-surface-control); font-size:1.28rem; font-style:normal; }
html:root body .level-space-reward-summary > span { display:grid; gap:.1rem; }
html:root body .level-space-reward-summary strong { color:var(--theme-text-primary) !important; font-size:.61rem; }
html:root body .level-space-reward-summary small { color:var(--theme-text-muted) !important; font-size:.5rem; line-height:1.25; }
html:root body .level-space-reward-grant { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; border-radius:1rem; padding:.75rem; background:var(--theme-surface-nested) !important; }
html:root body .level-settings-group .level-space-reward-grant > label { position:relative; display:grid; grid-template-columns:1fr; gap:.25rem; border:0 !important; padding:0; background:transparent !important; }
html:root body .level-settings-group .level-space-reward-grant > label.is-message { grid-column:1 / -1; }
html:root body .level-space-reward-grant label > span { color:var(--theme-text-secondary) !important; font-size:.54rem; font-weight:850; }
html:root body .level-space-reward-grant input, html:root body .level-space-reward-grant select { width:100%; min-height:2.45rem; border:1px solid var(--theme-border-subtle) !important; border-radius:.72rem; outline:0 !important; padding:0 .7rem; background:var(--theme-surface-control) !important; color:var(--theme-text-primary) !important; font-size:.62rem; font-weight:750; }
html:root body .level-space-reward-grant > button { min-height:2.55rem; grid-column:1 / -1; border:0 !important; border-radius:.75rem; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; font-size:.62rem; font-weight:900; }
html:root body .level-space-reward-status { min-height:.9rem; grid-column:1 / -1; margin:0; color:var(--theme-text-muted) !important; font-size:.56rem; font-weight:800; }
html:root body .level-space-reward-status.is-success { color:var(--theme-accent) !important; }
html:root body .level-space-reward-status.is-error { color:var(--theme-danger,#ef4444) !important; }
@media (max-width: 700px) {
    html:root body .level-space-reward-grid, html:root body .level-space-reward-grant { grid-template-columns:1fr; }
    html:root body .level-settings-group .level-space-reward-grant > label.is-message { grid-column:auto; }
}

@media (max-width: 620px) {
    html:root body .messenger-poll-voter-group > div { grid-template-columns: 1fr; }
}

/* ------------[Межпространственный рынок]------------ // Оформляет цены подарков и единое окно магазина. Модуль: «оформление интерфейса». Часть 1/1 */
html:root body .gift-catalog-item { position:relative; padding-bottom:1.9rem; }
html:root body .gift-price { position:absolute; right:.55rem; bottom:.5rem; display:inline-grid; min-width:2.35rem; min-height:1.35rem; place-items:center; border-radius:.48rem; padding:.2rem .38rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; font-size:.53rem; font-style:normal; font-weight:950; }
html:root body .gift-compose-price { margin-left:auto; flex:0 0 auto; border-radius:.55rem; padding:.34rem .46rem; background:var(--theme-surface-panel) !important; color:var(--theme-accent) !important; font-size:.58rem; }

html:root body .vmesta-market-modal { position:fixed; inset:0; z-index:10120; display:grid; place-items:center; padding:1rem; }
html:root body .vmesta-market-modal.hidden { display:none !important; }
html:root body .vmesta-market-backdrop { position:absolute; inset:0; border:0 !important; background:color-mix(in srgb,#07171b 72%,transparent) !important; backdrop-filter:blur(.65rem); }
html:root body .vmesta-market-dialog { position:relative; z-index:1; display:grid; width:min(62rem,100%); max-height:min(47rem,calc(100dvh - 2rem)); grid-template-rows:auto auto minmax(0,1fr); overflow:hidden; border:1px solid color-mix(in srgb,var(--theme-accent) 30%,transparent) !important; border-radius:1.55rem; background:var(--theme-surface-panel) !important; color:var(--theme-text-primary) !important; box-shadow:0 2rem 6rem rgb(0 0 0/.34); }
html:root body .vmesta-market-close { position:absolute; right:1rem; top:1rem; z-index:3; display:grid; width:2.6rem; height:2.6rem; place-items:center; border:0 !important; border-radius:.82rem; background:var(--theme-surface-control) !important; color:var(--theme-text-secondary) !important; font-size:1.3rem; cursor:pointer; }
html:root body .vmesta-market-dialog > header { display:grid; grid-template-columns:3.4rem minmax(0,1fr) auto; align-items:center; gap:.8rem; min-height:6.2rem; padding:1rem 5rem 1rem 1.2rem; background:linear-gradient(120deg,var(--theme-surface-panel),color-mix(in srgb,var(--theme-accent) 10%,var(--theme-surface-panel)),color-mix(in srgb,#ed4772 8%,var(--theme-surface-panel))) !important; }
html:root body .vmesta-market-dialog > header > span { display:grid; width:3.4rem; height:3.4rem; place-items:center; border-radius:1rem; background:var(--theme-surface-control); color:var(--theme-accent); }
html:root body .vmesta-market-dialog > header > span svg { width:1.8rem; height:1.8rem; fill:none; stroke:currentColor; stroke-width:1.7; }
html:root body .vmesta-market-dialog > header div small,.vmesta-market-section-head small,.vmesta-market-guide>div>small,.vmesta-market-coming>small { color:var(--theme-accent) !important; font-size:.5rem; font-weight:950; letter-spacing:.16em; }
html:root body .vmesta-market-dialog > header h2 { margin:.15rem 0 .1rem; font-size:1.35rem; font-weight:950; }
html:root body .vmesta-market-dialog > header p { margin:0; color:var(--theme-text-muted) !important; font-size:.62rem; font-weight:650; }
html:root body .vmesta-market-balance { display:grid; min-width:5.4rem; border:0 !important; border-radius:.9rem; padding:.6rem .72rem; background:var(--theme-surface-panel) !important; color:var(--theme-accent) !important; cursor:pointer; text-align:center; }
html:root body .vmesta-market-balance b { font-size:1.1rem; font-weight:950; }
html:root body .vmesta-market-balance span { color:var(--theme-text-muted) !important; font-size:.47rem; font-weight:850; text-transform:uppercase; }
html:root body .vmesta-market-tabs { display:flex; gap:.45rem; overflow-x:auto; border-block:1px solid var(--theme-border-subtle); padding:.62rem 1.15rem; background:var(--theme-surface-panel) !important; }
html:root body .vmesta-market-tabs button { flex:0 0 auto; min-height:2.25rem; border:1px solid transparent !important; border-radius:.72rem; padding:.5rem .8rem; background:var(--theme-surface-nested) !important; color:var(--theme-text-secondary) !important; font-size:.58rem; font-weight:900; cursor:pointer; }
html:root body .vmesta-market-tabs button.is-active { border-color:color-mix(in srgb,var(--theme-accent) 42%,transparent) !important; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; box-shadow:0 .45rem 1rem color-mix(in srgb,var(--theme-accent) 20%,transparent); }
html:root body .vmesta-market-content { min-height:20rem; overflow-y:auto; padding:1.1rem 1.2rem 1.35rem; }
html:root body .vmesta-market-loading { min-height:20rem; display:grid; place-items:center; align-content:center; gap:.7rem; color:var(--theme-text-muted); font-size:.65rem; font-weight:850; }
html:root body .vmesta-market-loading i { width:2rem; height:2rem; border:3px solid var(--theme-surface-control); border-top-color:var(--theme-accent); border-radius:50%; animation:gift-spin .8s linear infinite; }
html:root body .vmesta-market-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
html:root body .vmesta-market-section-head h3,.vmesta-market-guide h3,.vmesta-market-coming h3 { margin:.2rem 0 0; font-size:1.05rem; font-weight:950; }
html:root body .vmesta-market-section-head p,.vmesta-market-guide>div>p,.vmesta-market-coming p { margin:.25rem 0 0; color:var(--theme-text-muted) !important; font-size:.62rem; line-height:1.5; }
html:root body .vmesta-market-section-head button,.vmesta-market-coming button { flex:0 0 auto; border:0 !important; border-radius:.72rem; padding:.65rem .85rem; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; font-size:.58rem; font-weight:900; cursor:pointer; }
html:root body .vmesta-market-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
html:root body .vmesta-market-grid article { position:relative; display:grid; grid-template-columns:3rem minmax(0,1fr); align-items:center; gap:.6rem; min-height:5rem; border-radius:1rem; padding:.7rem 3.2rem .7rem .72rem; background:var(--theme-surface-nested) !important; }
html:root body .vmesta-market-grid article>span { display:grid; width:3rem; height:3rem; place-items:center; border-radius:.85rem; background:var(--theme-surface-control); font-size:1.8rem; }
html:root body .vmesta-market-grid article>div { display:grid; min-width:0; gap:.15rem; }
html:root body .vmesta-market-grid strong { overflow:hidden; font-size:.64rem; text-overflow:ellipsis; white-space:nowrap; }
html:root body .vmesta-market-grid small { color:var(--theme-text-muted) !important; font-size:.48rem; text-transform:uppercase; }
html:root body .vmesta-market-grid article>b { position:absolute; right:.6rem; top:.6rem; border-radius:.48rem; padding:.28rem .38rem; background:var(--theme-surface-control); color:var(--theme-accent); font-size:.53rem; }
html:root body .vmesta-market-guide { display:grid; gap:1rem; }
html:root body .vmesta-market-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
html:root body .vmesta-market-rule-grid article { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.25rem .7rem; border-radius:1rem; padding:.85rem; background:var(--theme-surface-nested) !important; }
html:root body .vmesta-market-rule-grid article>span { grid-row:1/4; display:grid; min-width:3.3rem; height:3.3rem; place-items:center; border-radius:.9rem; background:var(--theme-surface-control); color:var(--theme-accent); font-size:.78rem; font-weight:950; }
html:root body .vmesta-market-rule-grid strong { font-size:.7rem; }
html:root body .vmesta-market-rule-grid p { margin:0; color:var(--theme-text-secondary) !important; font-size:.57rem; line-height:1.4; }
html:root body .vmesta-market-rule-grid small { color:var(--theme-text-muted) !important; font-size:.5rem; }
html:root body .vmesta-market-coming { min-height:20rem; display:grid; place-items:center; align-content:center; text-align:center; }
html:root body .vmesta-market-coming>span { font-size:4rem; }
html:root body .vmesta-market-coming p { max-width:27rem; margin-bottom:1rem; }

@media (max-width: 760px) {
    html:root body .vmesta-market-modal { padding:.45rem; }
    html:root body .vmesta-market-dialog { max-height:calc(100dvh - .9rem); border-radius:1.1rem; }
    html:root body .vmesta-market-dialog > header { grid-template-columns:2.8rem minmax(0,1fr); padding:.8rem 3.7rem .8rem .85rem; }
    html:root body .vmesta-market-dialog > header > span { width:2.8rem; height:2.8rem; }
    html:root body .vmesta-market-balance { grid-column:1/-1; width:100%; grid-template-columns:auto auto; justify-content:center; gap:.35rem; min-height:2.2rem; }
    html:root body .vmesta-market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html:root body .vmesta-market-rule-grid { grid-template-columns:1fr; }
    html:root body .vmesta-market-section-head { align-items:flex-start; flex-direction:column; }
    html:root body .vmesta-market-section-head button { width:100%; }
}

/* ------------[Компактный рынок VMESTA]------------ // Верхняя навигация, витрина и баланс используют одну тему без лишней шапки. Модуль: «оформление интерфейса». Часть 1/1 */
html:root body .vmesta-market-dialog { width:min(58rem,100%); max-height:min(44rem,calc(100dvh - 2rem)); grid-template-rows:auto auto minmax(0,1fr); border:0 !important; border-radius:1.35rem; background:var(--theme-surface-panel) !important; box-shadow:0 2rem 6rem rgb(0 0 0/.36); }
html:root body .vmesta-market-dialog > header { display:grid; grid-template-columns:2.65rem minmax(0,1fr) auto 2.35rem; align-items:center; gap:.7rem; min-height:4.65rem; padding:.72rem .8rem .72rem .9rem; border-bottom:1px solid var(--theme-border-subtle); background:linear-gradient(120deg,var(--theme-surface-panel),color-mix(in srgb,var(--theme-accent) 7%,var(--theme-surface-panel))) !important; }
html:root body .vmesta-market-dialog > header > .vmesta-market-brand { display:grid; width:2.65rem; height:2.65rem; place-items:center; border-radius:.82rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; }
html:root body .vmesta-market-dialog > header > .vmesta-market-brand svg { width:1.42rem; height:1.42rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
html:root body .vmesta-market-dialog > header > div { min-width:0; }
html:root body .vmesta-market-dialog > header > div small { display:block; overflow:hidden; color:var(--theme-accent) !important; font-size:.47rem; font-weight:950; letter-spacing:.15em; text-overflow:ellipsis; white-space:nowrap; }
html:root body .vmesta-market-dialog > header h2 { overflow:hidden; margin:.12rem 0 0; font-size:1.05rem; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
html:root body .vmesta-market-balance { display:flex; grid-column:auto; width:auto; min-width:0; align-items:center; justify-content:flex-start; gap:.45rem; border:0 !important; border-radius:.75rem; padding:.43rem .62rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; cursor:pointer; text-align:left; }
html:root body .vmesta-market-balance:hover { background:var(--theme-surface-active) !important; }
html:root body .vmesta-market-balance > svg { width:1.05rem; height:1.05rem; fill:none; stroke:currentColor; stroke-width:1.8; }
html:root body .vmesta-market-balance > span { display:grid; gap:.03rem; }
html:root body .vmesta-market-balance b { color:var(--theme-text-primary) !important; font-size:.72rem; font-weight:950; line-height:1; }
html:root body .vmesta-market-balance small { color:var(--theme-text-muted) !important; font-size:.4rem; font-weight:850; letter-spacing:.08em; line-height:1.1; text-transform:uppercase; }
html:root body .vmesta-market-close { position:static; display:grid; width:2.35rem; height:2.35rem; place-items:center; border:0 !important; border-radius:.72rem; background:var(--theme-surface-control) !important; color:var(--theme-text-secondary) !important; cursor:pointer; }
html:root body .vmesta-market-close:hover { background:var(--theme-surface-active) !important; color:var(--theme-accent) !important; }
html:root body .vmesta-market-close svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
html:root body .vmesta-market-tabs { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.65rem; overflow:hidden; border:0; border-bottom:1px solid var(--theme-border-subtle); padding:.55rem .8rem; background:var(--theme-surface-panel) !important; }
html:root body .vmesta-market-tab-scroll { display:flex; min-width:0; gap:.3rem; overflow-x:auto; scrollbar-width:none; }
html:root body .vmesta-market-tab-scroll::-webkit-scrollbar { display:none; }
html:root body .vmesta-market-tabs [data-market-tab] { display:flex; flex:0 0 auto; min-height:2.25rem; align-items:center; gap:.42rem; border:0 !important; border-radius:.68rem; padding:.45rem .68rem; background:transparent !important; color:var(--theme-text-muted) !important; font-size:.57rem; font-weight:900; cursor:pointer; }
html:root body .vmesta-market-tabs [data-market-tab]:hover { background:var(--theme-surface-control) !important; color:var(--theme-text-primary) !important; }
html:root body .vmesta-market-tabs [data-market-tab].is-active { background:var(--theme-surface-active) !important; color:var(--theme-accent) !important; box-shadow:none; }
html:root body .vmesta-market-tabs svg { width:1rem; height:1rem; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
html:root body .vmesta-market-tabs > .vmesta-market-catalog-action { display:flex; min-height:2.3rem; align-items:center; gap:.42rem; border:0 !important; border-radius:.72rem; padding:.45rem .7rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; font-size:.57rem; font-weight:950; white-space:nowrap; cursor:pointer; }
html:root body .vmesta-market-catalog-action svg:last-child { width:.82rem; }
html:root body .vmesta-market-catalog-action.is-prominent { background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; }
html:root body .vmesta-market-content { min-height:21rem; overflow-y:auto; padding:1rem; background:color-mix(in srgb,var(--theme-surface-nested) 42%,var(--theme-surface-panel)) !important; }
html:root body .vmesta-market-showcase,.vmesta-market-guide { display:grid; gap:.9rem; }
html:root body .vmesta-market-showcase > header,.vmesta-market-guide > header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1rem; border-radius:1rem; padding:.9rem 1rem; background:var(--theme-surface-panel) !important; }
html:root body .vmesta-market-showcase > header small,.vmesta-market-guide > header > div > small,.vmesta-market-preview > div > small { color:var(--theme-accent) !important; font-size:.48rem; font-weight:950; letter-spacing:.15em; }
html:root body .vmesta-market-showcase h3,.vmesta-market-guide h3,.vmesta-market-preview h3 { margin:.18rem 0 0; font-size:1rem; font-weight:950; }
html:root body .vmesta-market-showcase p,.vmesta-market-guide header p,.vmesta-market-preview p { margin:.22rem 0 0; color:var(--theme-text-muted) !important; font-size:.6rem; line-height:1.5; }
html:root body .vmesta-market-showcase > header > span { display:grid; min-width:4.3rem; justify-items:center; border-radius:.8rem; padding:.55rem; background:var(--theme-surface-control) !important; }
html:root body .vmesta-market-showcase > header > span b { color:var(--theme-accent) !important; font-size:1rem; }
html:root body .vmesta-market-showcase > header > span small { color:var(--theme-text-muted) !important; font-size:.42rem; letter-spacing:.05em; }
html:root body .vmesta-market-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.6rem; }
html:root body .vmesta-market-grid > button { position:relative; display:grid; grid-template-columns:2.9rem minmax(0,1fr); align-items:center; gap:.6rem; min-height:4.75rem; overflow:hidden; border:0 !important; border-radius:.9rem; padding:.62rem 2.85rem .62rem .65rem; background:var(--theme-surface-panel) !important; color:var(--theme-text-primary) !important; text-align:left; cursor:pointer; transition:transform .16s ease,background-color .16s ease; }
html:root body .vmesta-market-grid > button:hover { background:var(--theme-surface-active) !important; transform:translateY(-2px); }
html:root body .vmesta-market-grid > button > span { display:grid; width:2.9rem; height:2.9rem; place-items:center; border-radius:.8rem; background:var(--theme-surface-control) !important; font-size:1.65rem; }
html:root body .vmesta-market-grid > button > div { display:grid; min-width:0; gap:.12rem; }
html:root body .vmesta-market-grid strong { overflow:hidden; font-size:.61rem; font-weight:900; text-overflow:ellipsis; white-space:nowrap; }
html:root body .vmesta-market-grid small { overflow:hidden; color:var(--theme-text-muted) !important; font-size:.43rem; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
html:root body .vmesta-market-grid > button > b { position:absolute; right:.48rem; top:.48rem; border-radius:.45rem; padding:.25rem .35rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; font-size:.5rem; font-weight:950; }
html:root body .vmesta-market-grid > button > b i { font-style:normal; }
html:root body .vmesta-market-guide > header { grid-template-columns:2.8rem minmax(0,1fr) auto; }
html:root body .vmesta-market-content-icon { display:grid; width:2.8rem; height:2.8rem; place-items:center; border-radius:.8rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; }
html:root body .vmesta-market-content-icon svg { width:1.3rem; height:1.3rem; fill:none; stroke:currentColor; stroke-width:1.8; }
html:root body .vmesta-market-guide > header > strong { display:grid; justify-items:end; color:var(--theme-accent) !important; font-size:1rem; }
html:root body .vmesta-market-guide > header > strong small { color:var(--theme-text-muted) !important; font-size:.42rem; text-transform:uppercase; }
html:root body .vmesta-market-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
html:root body .vmesta-market-rule-grid article { display:grid; grid-template-columns:2.35rem minmax(0,1fr) auto; align-items:center; gap:.65rem; border-radius:.9rem; padding:.72rem; background:var(--theme-surface-panel) !important; }
html:root body .vmesta-market-rule-grid article > span { display:grid; grid-row:auto; width:2.35rem; min-width:0; height:2.35rem; place-items:center; border-radius:.68rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; }
html:root body .vmesta-market-rule-grid svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.8; }
html:root body .vmesta-market-rule-grid article > div { display:grid; min-width:0; gap:.1rem; }
html:root body .vmesta-market-rule-grid strong { font-size:.62rem; }
html:root body .vmesta-market-rule-grid p { margin:0; color:var(--theme-text-secondary) !important; font-size:.52rem; line-height:1.4; }
html:root body .vmesta-market-rule-grid small { color:var(--theme-text-muted) !important; font-size:.45rem; }
html:root body .vmesta-market-rule-grid article > b { color:var(--theme-accent) !important; font-size:.7rem; }
html:root body .vmesta-market-preview { display:grid; min-height:23rem; grid-template-columns:minmax(12rem,.72fr) minmax(16rem,1fr); align-items:center; gap:1.6rem; border-radius:1.1rem; padding:1.4rem; background:var(--theme-surface-panel) !important; }
html:root body .vmesta-market-preview-art { position:relative; display:grid; min-height:15rem; place-items:center; overflow:hidden; border-radius:1rem; background:linear-gradient(135deg,var(--theme-surface-control),color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-nested))) !important; color:var(--theme-accent) !important; }
html:root body .vmesta-market-preview-art > svg { width:5rem; height:5rem; fill:none; stroke:currentColor; stroke-width:1.25; }
html:root body .vmesta-market-preview-art i { position:absolute; width:3rem; height:3rem; border-radius:50%; background:color-mix(in srgb,var(--theme-accent) 18%,transparent); }
html:root body .vmesta-market-preview-art i:nth-of-type(1) { left:12%; top:16%; }
html:root body .vmesta-market-preview-art i:nth-of-type(2) { right:10%; bottom:14%; width:4rem; height:4rem; }
html:root body .vmesta-market-preview-art i:nth-of-type(3) { right:18%; top:12%; width:1.2rem; height:1.2rem; }
html:root body .vmesta-market-preview > div:last-child { display:grid; justify-items:start; }
html:root body .vmesta-market-preview > div:last-child > button { display:flex; align-items:center; gap:.45rem; margin-top:.9rem; border:0 !important; border-radius:.72rem; padding:.62rem .75rem; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; font-size:.57rem; font-weight:900; cursor:pointer; }
html:root body .vmesta-market-preview > div:last-child > button svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.8; }
html:root body .vmesta-market-loading { min-height:22rem; }

/* Единое активное состояние медиавкладок профиля. */
html:root body .profile-media-tabs { border:0 !important; background:var(--theme-surface-control) !important; }
html:root body .profile-media-tab { border:0 !important; background:transparent !important; color:var(--theme-text-muted) !important; box-shadow:none !important; }
html:root body .profile-media-tab:hover { color:var(--theme-text-primary) !important; }
html:root body .profile-media-tab.is-active { background:var(--theme-surface-active) !important; color:var(--theme-accent) !important; box-shadow:none !important; }
html:root body .profile-video-tabs { border:0 !important; background:var(--theme-surface-control) !important; }
html:root body .profile-video-tabs button.is-active { background:var(--theme-surface-active) !important; color:var(--theme-accent) !important; box-shadow:none !important; }

/* Компактные действия редактора: сохранить и вернуться либо закрыть без сохранения. */
html:root body .cover-editor-icon-actions { margin-left:0; }
html:root body .cover-editor-icon-actions .cover-editor-header-action { display:grid; width:2.35rem; height:2.35rem; min-height:2.35rem; place-items:center; border:0 !important; border-radius:.72rem; padding:0; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; box-shadow:none !important; }
html:root body .cover-editor-icon-actions .cover-editor-header-action:hover { background:var(--theme-surface-active) !important; transform:translateY(-1px); }
html:root body .cover-editor-icon-actions .cover-editor-header-action svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
html:root body .cover-editor-icon-actions .cover-editor-check-icon { display:none; }
html:root body .cover-editor-icon-actions .cover-editor-header-action.is-dirty { background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; }
html:root body .cover-editor-icon-actions .cover-editor-header-action.is-dirty .cover-editor-back-icon { display:none; }
html:root body .cover-editor-icon-actions .cover-editor-header-action.is-dirty .cover-editor-check-icon { display:block; }
html:root body .cover-editor-icon-actions .cover-editor-header-action.is-saving { cursor:wait; opacity:.62; }

/* V2.0.47 — каталог наград пространств непосредственно в магазине. */
html:root body .vmesta-market-tabs [data-market-tab][hidden], html:root body .vmesta-market-catalog-action[hidden] { display:none !important; }
html:root body .vmesta-space-market { display:grid; gap:.8rem; }
html:root body .vmesta-space-market > header { display:grid; grid-template-columns:minmax(0,1fr) minmax(11rem,.55fr) auto; align-items:end; gap:.8rem; border-radius:1rem; padding:.85rem; background:var(--theme-surface-panel) !important; }
html:root body .vmesta-space-market > header > div { display:grid; gap:.12rem; }
html:root body .vmesta-space-market > header small { color:var(--theme-accent) !important; font-size:.48rem; font-weight:950; letter-spacing:.12em; }
html:root body .vmesta-space-market > header h3 { margin:0; color:var(--theme-text-primary) !important; font-size:1rem; font-weight:950; }
html:root body .vmesta-space-market > header p { margin:.12rem 0 0; color:var(--theme-text-muted) !important; font-size:.57rem; line-height:1.45; }
html:root body .vmesta-space-market > header > label { display:grid; gap:.25rem; color:var(--theme-text-muted) !important; font-size:.5rem; font-weight:900; }
html:root body .vmesta-space-market > header select { width:100%; min-height:2.4rem; border:1px solid var(--theme-border-subtle) !important; border-radius:.7rem; padding:0 .65rem; outline:0; background:var(--theme-surface-control) !important; color:var(--theme-text-primary) !important; font-size:.58rem; font-weight:850; }
html:root body .vmesta-space-market > header > strong { display:grid; min-width:6.4rem; gap:.05rem; border-radius:.8rem; padding:.58rem .7rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; font-size:.9rem; text-align:right; }
html:root body .vmesta-space-market > header > strong small { color:var(--theme-text-muted) !important; font-size:.42rem; letter-spacing:0; }
html:root body .vmesta-space-market > header > aside { display:grid; grid-column:2/-1; gap:.12rem; border-radius:.8rem; padding:.58rem .7rem; background:var(--theme-surface-control) !important; }
html:root body .vmesta-space-market > header > aside strong { color:var(--theme-text-primary) !important; font-size:.58rem; }
html:root body .vmesta-space-market > header > aside small { color:var(--theme-text-muted) !important; font-size:.46rem; font-weight:750; letter-spacing:0; line-height:1.4; }
html:root body .vmesta-space-market-compose { display:grid; grid-template-columns:minmax(11rem,1fr) minmax(11rem,1fr) minmax(8rem,.7fr) auto; align-items:end; gap:.55rem; border-radius:1rem; padding:.7rem; background:var(--theme-surface-panel) !important; }
html:root body .vmesta-space-market-compose label { display:grid; gap:.22rem; color:var(--theme-text-secondary) !important; font-size:.5rem; font-weight:900; }
html:root body .vmesta-space-market-compose input { width:100%; min-height:2.45rem; border:1px solid var(--theme-border-subtle) !important; border-radius:.7rem; padding:0 .65rem; outline:0; background:var(--theme-surface-control) !important; color:var(--theme-text-primary) !important; font-size:.58rem; font-weight:750; }
html:root body .vmesta-space-recipient { position:relative; }
html:root body .vmesta-space-user-results { position:absolute; z-index:20; inset:calc(100% + .25rem) 0 auto; display:grid; gap:.25rem; max-height:12rem; overflow:auto; border:1px solid var(--theme-border-subtle); border-radius:.78rem; padding:.3rem; background:var(--theme-surface-panel) !important; box-shadow:0 1rem 2rem rgb(0 0 0/.2); }
html:root body .vmesta-space-user-results[hidden] { display:none !important; }
html:root body .vmesta-space-user-results > span { padding:.65rem; color:var(--theme-text-muted) !important; font-size:.55rem; text-align:center; }
html:root body .vmesta-space-user-results > button { display:grid; grid-template-columns:2rem minmax(0,1fr) auto; align-items:center; gap:.45rem; border:0 !important; border-radius:.62rem; padding:.35rem; background:transparent !important; color:var(--theme-text-primary) !important; text-align:left; }
html:root body .vmesta-space-user-results > button:hover { background:var(--theme-surface-active) !important; }
html:root body .vmesta-space-user-results img, html:root body .vmesta-space-user-results i { display:grid; width:2rem; height:2rem; place-items:center; border-radius:.6rem; object-fit:cover; background:var(--theme-surface-control); font-style:normal; }
html:root body .vmesta-space-user-results > button > span { display:grid; min-width:0; }
html:root body .vmesta-space-user-results strong { overflow:hidden; font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }
html:root body .vmesta-space-user-results small { color:var(--theme-text-muted) !important; font-size:.48rem; }
html:root body .vmesta-space-user-results b { color:var(--theme-accent) !important; font-size:.48rem; }
html:root body .vmesta-space-selected-user { display:grid; grid-template-columns:1.8rem minmax(0,1fr) auto; align-items:center; gap:.4rem; margin-top:.3rem; border-radius:.65rem; padding:.3rem .4rem; background:var(--theme-surface-active) !important; }
html:root body .vmesta-space-selected-user img, html:root body .vmesta-space-selected-user i { display:grid; width:1.8rem; height:1.8rem; place-items:center; border-radius:.55rem; object-fit:cover; background:var(--theme-surface-panel); font-style:normal; }
html:root body .vmesta-space-selected-user > span { display:grid; min-width:0; }
html:root body .vmesta-space-selected-user strong { overflow:hidden; color:var(--theme-text-primary) !important; font-size:.55rem; text-overflow:ellipsis; white-space:nowrap; }
html:root body .vmesta-space-selected-user small { color:var(--theme-text-muted) !important; font-size:.46rem; }
html:root body .vmesta-space-selected-user > b { color:var(--theme-accent) !important; }
html:root body .vmesta-space-choice { display:grid; min-height:2.45rem; align-content:center; gap:.05rem; border-radius:.7rem; padding:.35rem .55rem; background:var(--theme-surface-control) !important; }
html:root body .vmesta-space-choice > span, html:root body .vmesta-space-choice > small { color:var(--theme-text-muted) !important; font-size:.43rem; }
html:root body .vmesta-space-choice > strong { color:var(--theme-text-primary) !important; font-size:.55rem; }
html:root body .vmesta-space-market-compose > button { min-height:2.45rem; border:0 !important; border-radius:.7rem; padding:.55rem .8rem; background:var(--theme-accent) !important; color:var(--theme-accent-contrast,#fff) !important; font-size:.55rem; font-weight:950; white-space:nowrap; }
html:root body .vmesta-space-market-compose > button:disabled { cursor:not-allowed; opacity:.45; }
html:root body .vmesta-space-market-status { grid-column:1/-1; min-height:.7rem; margin:0; color:var(--theme-text-muted) !important; font-size:.52rem; font-weight:850; }
html:root body .vmesta-space-market-status.is-success { color:var(--theme-accent) !important; }
html:root body .vmesta-space-market-status.is-error { color:var(--theme-danger,#ef4444) !important; }
html:root body .vmesta-space-reward-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.55rem; }
html:root body .vmesta-space-reward-catalog > button { position:relative; display:grid; grid-template-columns:2.75rem minmax(0,1fr); align-items:center; gap:.55rem; min-height:4.8rem; border:0 !important; border-radius:.9rem; padding:.58rem 3.1rem .58rem .6rem; background:var(--theme-surface-panel) !important; color:var(--theme-text-primary) !important; text-align:left; box-shadow:none !important; outline:0 !important; }
html:root body .vmesta-space-reward-catalog > button:hover, html:root body .vmesta-space-reward-catalog > button.is-active { border:0 !important; background:var(--theme-surface-active) !important; box-shadow:none !important; outline:0 !important; transform:translateY(-1px); }
html:root body .vmesta-space-reward-catalog > button:disabled { cursor:default; opacity:1; }
html:root body .vmesta-space-reward-catalog > button:disabled:hover { border:0 !important; background:var(--theme-surface-panel) !important; transform:none; }
html:root body .vmesta-space-reward-catalog > button > span { display:grid; width:2.75rem; height:2.75rem; place-items:center; border-radius:.78rem; background:var(--theme-surface-control); font-size:1.45rem; }
html:root body .vmesta-space-reward-catalog > button > div { display:grid; min-width:0; gap:.1rem; }
html:root body .vmesta-space-reward-catalog strong { overflow:hidden; font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }
html:root body .vmesta-space-reward-catalog small { display:-webkit-box; overflow:hidden; color:var(--theme-text-muted) !important; font-size:.45rem; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
html:root body .vmesta-space-reward-catalog b { position:absolute; right:.45rem; top:.45rem; border-radius:.42rem; padding:.22rem .3rem; background:var(--theme-surface-control); color:var(--theme-accent); font-size:.47rem; }
html:root body .vmesta-space-market-empty { display:grid; min-height:21rem; place-items:center; align-content:center; gap:.45rem; text-align:center; }
html:root body .vmesta-space-market-empty > span { display:grid; width:4rem; height:4rem; place-items:center; border-radius:1.1rem; background:var(--theme-surface-control); color:var(--theme-accent); }
html:root body .vmesta-space-market-empty svg { width:2rem; fill:none; stroke:currentColor; }
html:root body .vmesta-space-market-empty h3 { margin:.2rem 0 0; }
html:root body .vmesta-space-market-empty p { margin:0; color:var(--theme-text-muted) !important; font-size:.58rem; }

@media (max-width:760px) {
    html:root body .vmesta-market-dialog > header { grid-template-columns:2.4rem minmax(0,1fr) auto 2.2rem; gap:.5rem; padding:.6rem; }
    html:root body .vmesta-market-dialog > header > .vmesta-market-brand { width:2.4rem; height:2.4rem; }
    html:root body .vmesta-market-balance { padding:.4rem .5rem; }
    html:root body .vmesta-market-tabs { grid-template-columns:minmax(0,1fr); gap:.45rem; }
    html:root body .vmesta-market-catalog-action { width:100%; justify-content:center; }
    html:root body .vmesta-market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html:root body .vmesta-market-rule-grid { grid-template-columns:1fr; }
    html:root body .vmesta-market-preview { grid-template-columns:1fr; }
    html:root body .vmesta-market-preview-art { min-height:9rem; }
    html:root body .vmesta-space-market > header { grid-template-columns:1fr 1fr; }
    html:root body .vmesta-space-market > header > div { grid-column:1/-1; }
    html:root body .vmesta-space-market > header > aside { grid-column:1/-1; }
    html:root body .vmesta-space-market-compose { grid-template-columns:1fr 1fr; }
    html:root body .vmesta-space-reward-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:460px) {
    html:root body .vmesta-market-dialog > header { grid-template-columns:2.35rem minmax(0,1fr) 2.15rem; }
    html:root body .vmesta-market-balance { grid-column:1/-1; grid-row:2; justify-content:center; }
    html:root body .vmesta-market-close { grid-column:3; grid-row:1; }
    html:root body .vmesta-market-content { padding:.65rem; }
    html:root body .vmesta-market-grid { grid-template-columns:1fr; }
    html:root body .vmesta-market-showcase > header { grid-template-columns:1fr; }
    html:root body .vmesta-market-showcase > header > span { display:none; }
    html:root body .level-subject { grid-template-columns:2.8rem minmax(0,1fr) auto; gap:.55rem; }
    html:root body .level-subject-avatar { width:2.8rem; height:2.8rem; }
    html:root body .vmesta-space-market > header, html:root body .vmesta-space-market-compose, html:root body .vmesta-space-reward-catalog { grid-template-columns:1fr; }
    html:root body .vmesta-space-market > header > div { grid-column:auto; }
    html:root body .vmesta-space-market > header > strong { text-align:left; }
}

/* ------------[Единые иллюстрированные пустые состояния]------------ // Оформляет связанный блок интерфейса. Модуль: «оформление интерфейса». Часть 1/1 */
html:root body .vmesta-empty-state {
    display: grid !important;
    width: 100%;
    min-height: 15rem;
    place-items: center !important;
    align-content: center !important;
    gap: .7rem !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 1rem !important;
    padding: 1.5rem !important;
    background: transparent !important;
    color: var(--theme-text-muted) !important;
    text-align: center !important;
    box-shadow: none !important;
}
html:root body .vmesta-empty-state.hidden { display: none !important; }
html:root body .vmesta-empty-state.is-compact { min-height: 9rem; padding: 1rem !important; }
html:root body .vmesta-empty-visual {
    position: relative;
    display: grid;
    width: min(11.25rem, 58vw);
    height: 7rem;
    place-items: center;
    border-radius: 2rem;
    background: radial-gradient(circle at 50% 52%, color-mix(in srgb, var(--theme-accent) 15%, transparent), transparent 68%);
    color: color-mix(in oklab, var(--theme-accent) 72%, var(--theme-text-muted) 28%);
}
html:root body .is-compact > .vmesta-empty-visual { width: 8.2rem; height: 5.1rem; }
html:root body .vmesta-empty-visual svg { display: block; width: 100%; height: 100%; overflow: visible; fill: color-mix(in srgb, var(--theme-surface-control) 86%, transparent); stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
html:root body .vmesta-empty-visual :is(.empty-orbit, .empty-signal) { fill: none; opacity: .48; stroke-dasharray: 6 8; animation: vmesta-empty-dash 8s linear infinite; }

/* V2.0.77: заявки в друзья используют семантические стили вместо динамических utility-классов. */
html:root body .friends-requests-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--theme-border-soft);border-radius:1rem 1rem 0 0;padding:1rem 1.15rem;background:var(--theme-surface-panel)}
html:root body .friend-requests-direction-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(24rem,100%);align-items:stretch;gap:.35rem;border:1px solid var(--theme-border-soft);border-radius:1rem;padding:.32rem;background:var(--theme-surface-control)}
html:root body .friend-requests-direction-tabs button{display:grid;grid-template-columns:1.9rem minmax(0,1fr) auto;min-width:0;min-height:3rem;align-items:center;gap:.48rem;border:1px solid transparent;border-radius:.78rem;padding:.42rem .55rem;background:transparent;color:var(--theme-text-muted);text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
html:root body .friend-requests-direction-tabs button:hover{border-color:color-mix(in srgb,var(--theme-accent) 24%,var(--theme-border-soft));background:color-mix(in srgb,var(--theme-accent) 7%,var(--theme-surface-panel));color:var(--theme-text-primary);transform:translateY(-1px)}
html:root body .friend-request-direction-icon{display:grid;width:1.9rem;height:1.9rem;place-items:center;border-radius:.62rem;background:var(--theme-surface-panel);color:var(--theme-text-muted);transition:background .16s ease,color .16s ease,transform .16s ease}
html:root body .friend-request-direction-icon svg{display:block;width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html:root body .friend-request-direction-copy{display:grid;min-width:0;gap:.05rem}
html:root body .friend-request-direction-copy strong{overflow:hidden;color:inherit;font-size:.61rem;font-weight:950;letter-spacing:.025em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
html:root body .friend-request-direction-copy small{overflow:hidden;color:var(--theme-text-muted);font-size:.46rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}
html:root body .friend-requests-direction-tabs button b{display:grid;min-width:1.28rem;height:1.28rem;place-items:center;border:1px solid var(--theme-border-soft);border-radius:999px;background:var(--theme-surface-panel);color:var(--theme-text-muted);font-size:.5rem;font-weight:950}
html:root body .friend-requests-direction-tabs button.is-active{border-color:color-mix(in srgb,var(--theme-accent) 24%,var(--theme-border-soft));background:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface-panel));color:var(--theme-accent);box-shadow:0 .38rem 1rem color-mix(in srgb,var(--theme-accent) 12%,transparent)}
html:root body .friend-requests-direction-tabs button.is-active .friend-request-direction-icon{background:var(--theme-accent);color:var(--theme-accent-contrast,#fff);transform:scale(1.03)}
html:root body .friend-requests-direction-tabs button.is-active b{border-color:var(--theme-accent);background:var(--theme-accent);color:var(--theme-accent-contrast,#fff)}
html:root body .friend-requests-direction-tabs button:focus-visible{outline:2px solid color-mix(in srgb,var(--theme-accent) 58%,transparent);outline-offset:2px}
html:root body .friends-requests-list{display:grid;gap:.65rem;padding:1rem}
html:root body .friend-request-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.6rem;border:1px solid var(--theme-border-soft);border-radius:1.05rem;padding:.7rem .8rem;background:var(--theme-surface-panel);box-shadow:0 .4rem 1.2rem color-mix(in srgb,var(--theme-text-primary) 6%,transparent);transition:opacity .18s,transform .18s,border-color .18s}
html:root body .friend-request-card:hover{border-color:color-mix(in srgb,var(--theme-accent) 35%,var(--theme-border-soft))}
html:root body .friend-request-card .request-card-person{display:grid;grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:.72rem;min-width:0;border:0;background:transparent;text-align:left;cursor:pointer}
html:root body .friend-request-avatar{position:relative;display:block;width:2.8rem;height:2.8rem}
html:root body .friend-request-avatar>img{width:100%!important;height:100%!important;border-radius:.85rem!important;object-fit:cover}
html:root body .friend-request-avatar>.user-online-dot{position:absolute;right:-.12rem;bottom:-.12rem;width:.68rem;height:.68rem;border:2px solid var(--theme-surface-panel);border-radius:50%;background:#b8c6cf}
html:root body .friend-request-avatar>.user-online-dot.is-online{background:#22c55e}
html:root body .request-card-copy{display:grid;min-width:0;gap:.16rem}
html:root body .request-card-copy strong{overflow:hidden;color:var(--theme-text-primary);font-size:.7rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}
html:root body .request-card-copy small{color:var(--theme-text-muted);font-size:.53rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
html:root body .request-card-actions,html:root body .notification-friend-actions{display:flex;align-items:center;gap:.42rem;flex:0 0 auto}
html:root body .friend-request-action{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid transparent;border-radius:.75rem;padding:0;cursor:pointer;transition:transform .14s,background .14s,color .14s,border-color .14s}
html:root body .friend-request-action svg{display:block;width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
html:root body .friend-request-action .friend-request-check{display:block;color:var(--theme-accent-contrast,#fff);-webkit-text-fill-color:var(--theme-accent-contrast,#fff);font-size:1.18rem;font-weight:950;line-height:1}
html:root body .friend-request-action.is-accept{background:var(--theme-accent);color:var(--theme-accent-contrast,#fff);box-shadow:0 .35rem .9rem color-mix(in srgb,var(--theme-accent) 25%,transparent)}
html:root body .friend-request-action.is-decline{border-color:var(--theme-border-soft);background:var(--theme-surface-control);color:var(--theme-text-muted)}
html:root body .friend-request-action:hover{transform:translateY(-1px)}
html:root body .friend-request-action.is-decline:hover{border-color:color-mix(in srgb,#ef476f 35%,var(--theme-border-soft));background:color-mix(in srgb,#ef476f 12%,var(--theme-surface-control));color:#df365e}
html:root body .friend-request-action:disabled{pointer-events:none;opacity:.5}
html:root body .friends-requests-list.is-empty{min-height:25rem;padding:.75rem 1rem 1.2rem}
html:root body .friend-requests-empty{display:grid;min-height:22rem;place-content:center;justify-items:center;gap:.35rem;text-align:center}
html:root body .friend-requests-empty>.vmesta-empty-visual{width:min(15.5rem,72vw);height:9rem;margin-bottom:.25rem}
html:root body .friend-requests-empty.is-outgoing .empty-orbit{animation-direction:reverse}
html:root body .friend-requests-empty.is-outgoing .empty-pulse{animation-delay:-1.2s}
html:root body .friend-requests-empty strong{color:var(--theme-text-primary);font-size:.72rem;font-weight:950;text-transform:uppercase}
html:root body .friend-requests-empty span{color:var(--theme-text-muted);font-size:.56rem;font-weight:700}
@media(max-width:700px){html:root body .friends-requests-head{align-items:flex-start;flex-direction:column}html:root body .friend-requests-direction-tabs{width:100%}html:root body .friend-requests-direction-tabs button{grid-template-columns:1.75rem minmax(0,1fr) auto;padding:.38rem}.friend-request-direction-icon{width:1.75rem;height:1.75rem}}

/* V2.0.77: SVG-поздравление — метеоритный дождь и вспышка новой планеты. */
html:root body .level-up-space-scene{position:relative;width:min(25rem,100%);height:10.6rem;margin:-1.2rem 0 .15rem;overflow:hidden;contain:layout paint;isolation:isolate}
html:root body .level-up-space-scene>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
html:root body .level-up-stars{fill:color-mix(in srgb,var(--theme-accent) 56%,#fff);animation:level-stars-twinkle 1.8s ease-in-out infinite alternate}
html:root body .level-up-meteors path{fill:none;stroke:url(#levelMeteorTrail);stroke-width:3;stroke-linecap:round;stroke-dasharray:95;stroke-dashoffset:95;animation:level-meteor-fall 2.6s cubic-bezier(.2,.7,.25,1) infinite}
html:root body .level-up-meteors circle{fill:#fff5b8;opacity:0;animation:level-meteor-head 2.6s ease-out infinite}
html:root body .level-up-meteors :is(path,circle):nth-child(2),html:root body .level-up-meteors :is(path,circle):nth-child(6){animation-delay:.55s}
html:root body .level-up-meteors :is(path,circle):nth-child(3),html:root body .level-up-meteors :is(path,circle):nth-child(7){animation-delay:1.2s}
html:root body .level-up-meteors :is(path,circle):nth-child(4),html:root body .level-up-meteors :is(path,circle):nth-child(8){animation-delay:1.75s}
html:root body .level-up-planet-burst{transform-origin:180px 96px;animation:level-planet-arrive .8s cubic-bezier(.18,.9,.25,1.2) both}
html:root body .level-up-planet{fill:url(#levelPlanetGlow);stroke:rgba(255,255,255,.72);stroke-width:2}
html:root body .level-up-planet-ring{fill:none;stroke:color-mix(in srgb,var(--theme-accent) 54%,#ffe58a);stroke-width:4;stroke-linecap:round;stroke-dasharray:20 8;animation:level-planet-ring 5s linear infinite;transform-origin:center}
html:root body .level-up-planet-crack{fill:none;stroke:rgba(255,255,255,.82);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;animation:level-crack-flash 2.2s ease-in-out infinite}
html:root body .level-up-burst-rays{fill:none;stroke:#ffd86a;stroke-width:3;stroke-linecap:round;animation:level-burst-pulse 1.45s ease-in-out infinite;transform-origin:center}
html:root body .level-up-space-scene .level-up-orbit{position:absolute;left:50%;top:50%;z-index:2;width:4.8rem;height:4.8rem;margin:0;transform:translate(-50%,-50%);background:transparent!important;box-shadow:none}
html:root body .level-up-space-scene .level-up-orbit::before{width:7.1rem;height:2.45rem;border-color:rgba(255,255,255,.66)}
html:root body .level-up-space-scene .level-up-orbit::after{background:#fff6b2!important;box-shadow:-5.05rem 1.75rem 0 rgba(139,215,255,.9)}
html:root body .level-up-space-scene .level-up-orbit i{width:3.5rem;height:3.5rem;border-radius:1.1rem;background:rgba(38,79,176,.92)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42),0 0 1rem rgba(62,125,255,.4);animation:level-number-float 2.4s ease-in-out infinite}
@keyframes level-meteor-fall{0%,12%{stroke-dashoffset:95;opacity:0}24%{opacity:1}58%{stroke-dashoffset:0;opacity:1}70%,100%{stroke-dashoffset:-95;opacity:0}}
@keyframes level-meteor-head{0%,18%{opacity:0;transform:translate(-20px,-17px)}42%,57%{opacity:1;transform:translate(0,0)}72%,100%{opacity:0;transform:translate(9px,8px)}}
@keyframes level-stars-twinkle{from{opacity:.35}to{opacity:1}}
@keyframes level-planet-arrive{from{opacity:0;transform:translate(180px,96px) scale(.25) rotate(-18deg)}to{opacity:1;transform:translate(180px,96px) scale(1) rotate(0)}}
@keyframes level-planet-ring{to{transform:rotate(360deg)}}
@keyframes level-burst-pulse{0%,100%{opacity:.28;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}
@keyframes level-crack-flash{0%,65%,100%{opacity:.25}76%{opacity:1}}
@keyframes level-number-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-.28rem) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){html:root body .level-up-space-scene *{animation-duration:8s!important}}

/* Сначала дешёвая compositor-анимация закрытия, затем levels.js скрывает окно
   и снимает глобальную блокировку прокрутки уже вне исходного pointer-события. */
html:root body .level-up-celebration-modal>.level-modal-backdrop,
html:root body .level-up-celebration-modal>section{transition:opacity .15s ease,transform .15s ease}
html:root body .level-up-celebration-modal.is-closing{pointer-events:none}
html:root body .level-up-celebration-modal.is-closing>.level-modal-backdrop{opacity:0}
html:root body .level-up-celebration-modal.is-closing>section{opacity:0;transform:translate3d(0,.35rem,0) scale(.985)}
html:root body .level-up-celebration-modal.is-closing .level-up-space-scene *{animation-play-state:paused!important}

/* Поиск в переписке не участвует в раскладке и не сдвигает сообщения. */
html:root body .messenger-conversation.has-chat-search:not(.has-selection-toolbar){grid-template-rows:auto minmax(0,1fr) auto!important}
html:root body .messenger-conversation.has-chat-search.has-selection-toolbar{grid-template-rows:auto auto minmax(0,1fr) auto!important}
html:root body .messenger-conversation.has-chat-search .messenger-chat-search{position:absolute!important;inset:4.85rem .72rem auto!important;z-index:58!important;width:auto!important;margin:0!important;border:1px solid color-mix(in srgb,var(--msg-accent) 22%,var(--msg-line))!important;box-shadow:0 .85rem 2rem rgb(15 23 42/.16)!important;backdrop-filter:blur(18px)}
html:root body .messenger-conversation.has-space-link.has-chat-search:not(.has-selection-toolbar){grid-template-rows:auto auto minmax(0,1fr) auto!important}
html:root body .messenger-conversation.has-space-link.has-chat-search.has-selection-toolbar{grid-template-rows:auto auto auto minmax(0,1fr) auto!important}
html:root body .vmesta-empty-visual .empty-star { fill: currentColor; stroke: none; opacity: .72; animation: vmesta-empty-pulse 2.8s ease-in-out infinite; transform-origin: center; }
html:root body .vmesta-empty-visual .empty-float-a { animation: vmesta-empty-float 4.2s ease-in-out infinite; transform-origin: center; }
html:root body .vmesta-empty-visual .empty-float-b { animation: vmesta-empty-float 4.2s ease-in-out -1.4s infinite; transform-origin: center; }
html:root body .vmesta-empty-visual .empty-pulse { animation: vmesta-empty-pulse 3s ease-in-out infinite; transform-origin: center; }
html:root body .vmesta-empty-visual .empty-equalizer path:nth-child(2) { animation-delay: -.45s; }
html:root body .vmesta-empty-visual .empty-equalizer path:nth-child(3) { animation-delay: -.9s; }
html:root body .vmesta-empty-visual .empty-equalizer path:nth-child(4) { animation-delay: -1.35s; }
html:root body .vmesta-empty-visual .empty-equalizer path { animation: vmesta-empty-eq 1.8s ease-in-out infinite; transform-origin: center bottom; }
html:root body .vmesta-empty-copy { display: grid; max-width: 26rem; gap: .28rem; }
html:root body .vmesta-empty-copy strong { color: var(--theme-text-primary) !important; font-size: .72rem !important; font-weight: 950 !important; letter-spacing: .08em !important; line-height: 1.25 !important; text-transform: uppercase !important; }
html:root body .vmesta-empty-copy small { color: var(--theme-text-muted) !important; font-size: .6rem !important; font-weight: 680 !important; line-height: 1.5 !important; text-transform: none !important; }
html:root body .is-compact .vmesta-empty-copy strong { font-size: .64rem !important; }
html:root body .is-compact .vmesta-empty-copy small { font-size: .55rem !important; }
@keyframes vmesta-empty-float { 50% { transform: translateY(-4px); } }
@keyframes vmesta-empty-pulse { 50% { opacity: .58; transform: scale(.94); } }
@keyframes vmesta-empty-dash { to { stroke-dashoffset: -56; } }
@keyframes vmesta-empty-eq { 50% { transform: scaleY(.55); opacity: .55; } }

/* Кнопка дозагрузки всегда сохраняет читаемую подпись при любой палитре. */
html:root body .load-more-posts {
    display: inline-flex !important;
    min-width: 12rem;
    min-height: 3rem;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    border: 0 !important;
    background: var(--theme-accent) !important;
    color: #fff !important;
    box-shadow: none !important;
}
html:root body .load-more-posts:hover { filter: brightness(1.06); transform: translateY(-1px); }
html:root body .load-more-posts > * { color: inherit !important; }
html:root body .load-more-posts:disabled { color: #fff !important; opacity: .72 !important; }
html:root body .end-feed-msg { border: 0 !important; }

@media (prefers-reduced-motion: reduce) {
    html:root body .vmesta-empty-visual * { animation: none !important; }
}

/* ------------[Финальная фиксация прозрачного стикера и компактная отправка набора]------------ */

@media (max-width: 620px) {
}

html:root body .post-comments-empty-state .empty-discussion-core { animation: vmesta-discussion-breathe 3.4s ease-in-out infinite; transform-origin: center; }
html:root body .post-comments-empty-state .empty-discussion-core circle:nth-of-type(1) { animation: vmesta-comment-dot 1.5s ease-in-out infinite; }
html:root body .post-comments-empty-state .empty-discussion-core circle:nth-of-type(2) { animation: vmesta-comment-dot 1.5s ease-in-out -.5s infinite; }
html:root body .post-comments-empty-state .empty-discussion-core circle:nth-of-type(3) { animation: vmesta-comment-dot 1.5s ease-in-out -1s infinite; }
html:root body .post-comments-empty-state .empty-discussion-signal { animation: vmesta-discussion-signal 2.4s ease-out infinite; transform-origin: 136px 48px; }
html:root body .post-comments-empty-state .empty-comment-a { animation: vmesta-comment-float-a 4s ease-in-out infinite; transform-origin: center; }
html:root body .post-comments-empty-state .empty-comment-b { animation: vmesta-comment-float-b 4s ease-in-out -1.4s infinite; transform-origin: center; }
@keyframes vmesta-discussion-breathe { 50% { transform: translateY(-4px) scale(1.035); } }
@keyframes vmesta-comment-dot { 50% { opacity:.28; transform:scale(.55); } }
@keyframes vmesta-discussion-signal { 0%,100% { opacity:.18; transform:scale(.72); } 45% { opacity:.9; transform:scale(1.08); } }
@keyframes vmesta-comment-float-a { 50% { transform:translate(-3px,-5px) rotate(-1deg); } }
@keyframes vmesta-comment-float-b { 50% { transform:translate(4px,-4px) rotate(2deg); } }

/* ------------[Прозрачная сетка смайликов]------------ // Убирает цветную подложку у смайликов и отделяет поиск, вкладки и границы панели контрастным оттенком активной темы. Модуль: «панель смайликов и стикеров». Часть 1/1 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded {
    --emoji-picker-accent: var(--theme-accent, var(--color-dynamic, #2563eb));
    --emoji-picker-outline: color-mix(in srgb, var(--emoji-picker-accent) 48%, var(--theme-divider) 52%);
    --emoji-picker-outline-soft: color-mix(in srgb, var(--emoji-picker-accent) 25%, var(--theme-divider) 75%);
    border: 1px solid var(--emoji-picker-outline) !important;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1rem 2.4rem color-mix(in srgb, var(--theme-text-primary) 14%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-emoji-view,
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-grid {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded :is(.emoji-picker-mode-tabs, .emoji-picker-search-wrap) {
    border: 1px solid var(--emoji-picker-outline-soft) !important;
    background: color-mix(in srgb, var(--theme-surface-control) 72%, transparent) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-tabs {
    border: 0 !important;
    border-bottom: 1px solid var(--emoji-picker-outline) !important;
    background: transparent !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded :is(.emoji-picker-item, .emoji-picker-tab) {
    border: 1px solid transparent !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-item:hover {
    border-color: var(--emoji-picker-outline-soft) !important;
    background: transparent !important;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--emoji-picker-accent) 16%, transparent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-tab:is(:hover, .is-active) {
    border-color: var(--emoji-picker-outline) !important;
    background: transparent !important;
    color: var(--emoji-picker-accent) !important;
    box-shadow: inset 0 -.14rem 0 var(--emoji-picker-accent) !important;
}

/* ------------[Левая навигация как меню центра событий]------------ */
html:root body #profile-left-rail .profile-sidebar-navigation-frame {
    padding: .42rem !important;
    border: 0 !important;
    border-radius: 1rem !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
}
html:root body #profile-left-rail .profile-sidebar-navigation {
    display: grid !important;
    gap: .18rem !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: .82rem !important;
    background: transparent !important;
    box-shadow: none !important;
}
html:root body #profile-left-rail .profile-sidebar-navigation > .nav-item {
    min-height: 2.65rem !important;
    gap: .7rem !important;
    padding: .58rem .72rem !important;
    border: 0 !important;
    border-radius: .72rem !important;
    background: transparent !important;
    color: var(--theme-text-secondary) !important;
    box-shadow: none !important;
}
html:root body #profile-left-rail .profile-sidebar-navigation > .nav-item:hover {
    background: var(--theme-surface-nested) !important;
    background-color: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
}
html:root body #profile-left-rail .profile-sidebar-navigation > .nav-item:is([aria-current="page"], .bg-blue-50) {
    background: var(--theme-surface-active) !important;
    background-color: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}
html:root body #profile-left-rail .profile-sidebar-navigation > .nav-item :is(svg, .nav-text) {
    color: inherit !important;
}

/* ------------[Центр событий: целая иерархия и читаемая история]------------ */
html:root body #notifications-dropdown .notification-settings-menu {
    gap: .28rem !important;
    padding: .42rem !important;
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: 0 1rem 2.4rem color-mix(in srgb, var(--theme-text-primary) 14%, transparent) !important;
}
html:root body #notifications-dropdown .notification-settings-menu > button {
    min-height: 3rem !important;
    border: 0 !important;
    border-radius: .72rem !important;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}
html:root body #notifications-dropdown .notification-settings-menu > button:hover {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}
html:root body #notifications-dropdown .notification-settings-menu > .notification-settings-history {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}
html:root body #notifications-dropdown .notification-settings-menu > button.is-danger {
    background: color-mix(in srgb, var(--theme-danger, #ef4444) 11%, var(--theme-surface-panel)) !important;
    color: var(--theme-danger, #ef4444) !important;
}

html:root body .notification-history-dialog {
    --history-bg: var(--theme-surface-panel);
    --history-soft: var(--theme-surface-nested);
    --history-text: var(--theme-text-primary);
    --history-muted: var(--theme-text-muted);
    --history-border: var(--theme-divider);
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
}
html:root body .notification-history-head {
    background: var(--theme-surface-panel) !important;
}
html:root body .notification-history-filters {
    gap: .35rem !important;
    margin: 0 1rem .58rem !important;
    padding: .28rem !important;
    border-radius: .82rem !important;
    background: var(--theme-surface-nested) !important;
}
html:root body .notification-history-filters > button {
    min-height: 2.15rem !important;
    border: 0 !important;
    border-radius: .62rem !important;
    background: transparent !important;
    color: var(--theme-text-muted) !important;
    box-shadow: none !important;
}
html:root body .notification-history-filters > button:hover {
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-primary) !important;
}
html:root body .notification-history-filters > button.is-active {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
    box-shadow: inset 0 -.13rem 0 var(--theme-accent) !important;
}
html:root body .notification-history-filters > button > span:not(.galaxy-protect-icon) {
    background: var(--theme-surface-control) !important;
    color: inherit !important;
}
html:root body .notification-history-filters > button.is-active > span:not(.galaxy-protect-icon) {
    background: color-mix(in srgb, var(--theme-accent) 16%, var(--theme-surface-panel)) !important;
}
html:root body .notification-history-item {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}
html:root body .notification-history-item.is-unread {
    border-left: .2rem solid var(--theme-accent) !important;
    background: color-mix(in srgb, var(--theme-accent) 12%, var(--theme-surface-nested)) !important;
}
html:root body .notification-history-item.is-system.is-unread {
    border-left-color: #8a55ff !important;
    background: color-mix(in srgb, #8a55ff 10%, var(--theme-surface-nested)) !important;
}
html:root body .notification-history-system-icon,
html:root body .notification-system-filter-mark {
    flex: 0 0 auto !important;
    aspect-ratio: 1 !important;
}
html:root body .notification-history-empty > .vmesta-empty-visual {
    width: min(11.25rem, 58vw) !important;
    height: 7rem !important;
    margin-bottom: .2rem !important;
    border-radius: 2rem !important;
    background: radial-gradient(circle at 50% 52%, color-mix(in srgb, var(--theme-accent) 15%, transparent), transparent 68%) !important;
}
html:root body .notification-history-empty > .vmesta-empty-copy {
    width: auto !important;
    height: auto !important;
    max-width: 26rem !important;
    margin: 0 !important;
    background: transparent !important;
}

@media (max-width: 620px) {
    html:root body .notification-history-filters { margin-inline: .75rem !important; }
    html:root body .notification-history-filters > button { flex: 1 0 auto; justify-content: center; }
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-mode-button {
    border: 0 !important;
    background: transparent !important;
    color: var(--theme-text-secondary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-mode-button.is-active {
    background: color-mix(in srgb, var(--emoji-picker-accent) 14%, var(--theme-surface-panel)) !important;
    color: var(--emoji-picker-accent) !important;
    box-shadow: inset 0 0 0 1px var(--emoji-picker-outline-soft) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-header > button {
    border: 1px solid var(--emoji-picker-outline-soft) !important;
    background: transparent !important;
    color: var(--theme-text-secondary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body
    .emoji-picker-expanded.emoji-picker-expanded :is(button, input):focus-visible {
    outline: 2px solid var(--emoji-picker-accent) !important;
    outline-offset: 2px !important;
}

/* ------------[Единое кольцо передачи медиа]------------ // Показывает одинаковый прогресс скачивания и отправки вокруг кнопок видео, видеокружков, голосовых, музыки и вложений публикации. Модуль: «медиа сообщений и публикаций». Часть 1/2 */
html:root body :is(
    .messenger-voice-note:is(.is-uploading, .is-downloading) .messenger-voice-note-toggle,
    .messenger-video-note:is(.is-uploading, .is-downloading) > button,
    .messenger-generic-media:is(.is-uploading, .is-downloading) > .messenger-media-transfer-control,
    .vmesta-track-player:is(.is-uploading, .is-downloading) .vmesta-track-download,
    .post-file-selection-card.is-uploading .post-attachment-transfer-icon
) {
    --unified-transfer-accent: var(--msg-accent, var(--track-accent, var(--theme-accent)));
    position: relative;
    isolation: isolate;
}

html:root body :is(
    .messenger-voice-note:is(.is-uploading, .is-downloading) .messenger-voice-note-toggle,
    .messenger-video-note:is(.is-uploading, .is-downloading) > button,
    .messenger-generic-media:is(.is-uploading, .is-downloading) > .messenger-media-transfer-control
) { --unified-transfer-progress: var(--media-transfer-progress, 0%); }

html:root body .vmesta-track-player:is(.is-uploading, .is-downloading) .vmesta-track-download {
    --unified-transfer-progress: var(--track-download-progress, 0%);
    --unified-transfer-accent: var(--track-accent, var(--theme-accent));
}

html:root body .post-file-selection-card.is-uploading .post-attachment-transfer-icon {
    --unified-transfer-progress: var(--media-transfer-progress, 0%);
    --unified-transfer-accent: var(--theme-accent);
}

html:root body :is(
    .messenger-voice-note:is(.is-uploading, .is-downloading) .messenger-voice-note-toggle,
    .messenger-video-note:is(.is-uploading, .is-downloading) > button,
    .messenger-generic-media:is(.is-uploading, .is-downloading) > .messenger-media-transfer-control,
    .vmesta-track-player:is(.is-uploading, .is-downloading) .vmesta-track-download,
    .post-file-selection-card.is-uploading .post-attachment-transfer-icon
)::after {
    position: absolute !important;
    inset: -.2rem !important;
    display: block !important;
    border-radius: inherit !important;
    background: conic-gradient(
        from -90deg,
        var(--unified-transfer-accent) var(--unified-transfer-progress),
        color-mix(in srgb, var(--unified-transfer-accent) 22%, transparent) 0
    ) !important;
    content: "" !important;
    opacity: 1 !important;
    pointer-events: none !important;
    transform: none !important;
    animation: none !important;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - .12rem), #000 0) !important;
    mask: radial-gradient(farthest-side, transparent calc(100% - .12rem), #000 0) !important;
}

html:root body :is(
    .messenger-voice-note.is-transfer-indeterminate .messenger-voice-note-toggle,
    .messenger-video-note.is-transfer-indeterminate > button,
    .messenger-generic-media.is-transfer-indeterminate > .messenger-media-transfer-control,
    .vmesta-track-player.is-transfer-indeterminate .vmesta-track-download
)::after {
    background: conic-gradient(from -90deg, transparent 0 64%, var(--unified-transfer-accent) 76% 100%) !important;
    animation: vmesta-unified-transfer-spin .82s linear infinite !important;
}

html:root body :is(
    .messenger-voice-note-toggle,
    .messenger-video-note > button,
    .messenger-generic-media > .messenger-media-transfer-control,
    .vmesta-track-download,
    .post-attachment-transfer-icon
) > :is(svg, .messenger-icon) {
    position: relative;
    z-index: 1;
}

html:root body .messenger-video-note:is(.is-uploading, .is-downloading)::before,
html:root body .messenger-video-note:is(.is-uploading, .is-downloading)::after {
    display: none !important;
}

html:root body .vmesta-track-player.is-uploading :is(.vmesta-track-play, .vmesta-track-wave input) {
    opacity: .5 !important;
    pointer-events: none !important;
}

@keyframes vmesta-unified-transfer-spin { to { transform: rotate(1turn); } }

/* ------------[Ожидание видео и отправка публикаций]------------ // Даёт обычным видео состояние буферизации, а загружаемым в публикацию файлам — ту же кнопку с кольцом вместо текстового процента. Модуль: «медиа сообщений и публикаций». Часть 2/2 */
html:root body .messenger-generic-media {
    position: relative;
    overflow: hidden;
    border-radius: .82rem;
}

html:root body .messenger-generic-media > video {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 7rem;
    object-fit: contain;
    background: color-mix(in srgb, var(--msg-panel-strong) 88%, #000 12%);
}

html:root body :is(.messenger-video-note, .messenger-generic-media) .messenger-media-buffer-indicator {
    position: absolute;
    z-index: 7;
    top: 50%;
    left: 50%;
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--msg-panel-strong) 78%, transparent);
    color: var(--msg-accent);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(.88);
    transition: opacity 160ms ease, transform 180ms ease;
    backdrop-filter: blur(8px);
}

html:root body :is(.messenger-video-note, .messenger-generic-media) .messenger-media-buffer-indicator::after {
    position: absolute;
    inset: -.18rem;
    border-radius: 50%;
    background: conic-gradient(from -90deg, transparent 0 62%, var(--msg-accent) 76% 100%);
    content: "";
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - .12rem), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - .12rem), #000 0);
    animation: vmesta-unified-transfer-spin .82s linear infinite;
}

html:root body :is(.messenger-video-note, .messenger-generic-media).is-media-loading:not(.is-uploading):not(.is-downloading):not(.is-download-required)
    .messenger-media-buffer-indicator {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

html:root body .messenger-media-buffer-indicator .messenger-icon {
    width: .9rem;
    height: .9rem;
}

html:root body .messenger-generic-media > .messenger-media-transfer-control {
    position: absolute;
    z-index: 8;
    top: 50%;
    left: 50%;
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border: 0 !important;
    border-radius: 50%;
    background: color-mix(in srgb, var(--msg-panel-strong) 82%, transparent) !important;
    color: var(--msg-accent) !important;
    transform: translate(-50%, -50%);
    backdrop-filter: blur(8px);
}

html:root body .post-file-selection-card.is-uploading .post-attachment-transfer-icon {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border-radius: .58rem;
    background: color-mix(in srgb, var(--theme-accent) 12%, var(--theme-surface-panel));
    color: var(--theme-accent);
}

html:root body .post-file-selection-card.is-uploading .post-attachment-transfer-icon svg {
    width: .86rem;
    height: .86rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
    html:root body :is(.messenger-media-buffer-indicator, .is-transfer-indeterminate > button)::after {
        animation-duration: 1.6s !important;
    }
}

/* ------------[Видеотека в семантических цветах]------------ // Убирает
   оставшиеся локальные смеси adaptive-card-tint: библиотека, карточки и подписи
   используют те же уровни панели, вложения и управления, что остальной профиль.
   Это особенно важно для Monet Dark, где старый тёплый fallback мог остаться
   светлым. Модуль: «видео профиля». Часть 1/1 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .profile-video-library {
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .profile-video-library-head :is(h2, p) {
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .profile-video-library-head p {
    color: var(--theme-text-muted) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .profile-video-card {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .profile-video-card strong {
    color: var(--theme-text-primary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(.profile-video-add, .profile-video-open-post) {
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body :is(.profile-video-add, .profile-video-open-post):is(:hover, :focus-visible) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
}

/* Фактическое кольцо является дочерним элементом кнопки: так глобальные
   сбросы псевдоэлементов в Monet-теме не могут скрыть прогресс передачи. */
html:root body :is(
    .messenger-voice-note-toggle,
    .messenger-video-note > button,
    .messenger-generic-media > .messenger-media-transfer-control,
    .vmesta-track-download
)::after {
    display: none !important;
    content: none !important;
}

html:root body .messenger-voice-note:is(.is-uploading, .is-downloading) .messenger-voice-note-toggle::before {
    display: none !important;
    content: none !important;
}

html:root body .messenger-media-transfer-ring {
    position: absolute;
    z-index: 2;
    inset: -.2rem;
    display: none;
    border-radius: inherit;
    background: conic-gradient(
        from -90deg,
        var(--unified-transfer-accent) var(--unified-transfer-progress),
        color-mix(in srgb, var(--unified-transfer-accent) 22%, transparent) 0
    );
    pointer-events: none;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - .12rem), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - .12rem), #000 0);
}

html:root body :is(
    .messenger-voice-note:is(.is-uploading, .is-downloading) .messenger-voice-note-toggle,
    .messenger-video-note:is(.is-uploading, .is-downloading) > button,
    .messenger-generic-media:is(.is-uploading, .is-downloading) > .messenger-media-transfer-control,
    .vmesta-track-player:is(.is-uploading, .is-downloading) .vmesta-track-download
) > .messenger-media-transfer-ring {
    display: block;
}

html:root body :is(
    .messenger-voice-note.is-transfer-indeterminate .messenger-voice-note-toggle,
    .messenger-video-note.is-transfer-indeterminate > button,
    .messenger-generic-media.is-transfer-indeterminate > .messenger-media-transfer-control,
    .vmesta-track-player.is-transfer-indeterminate .vmesta-track-download
) > .messenger-media-transfer-ring {
    background: conic-gradient(from -90deg, transparent 0 64%, var(--unified-transfer-accent) 76% 100%);
    animation: vmesta-unified-transfer-spin .82s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
    html:root body .is-transfer-indeterminate .messenger-media-transfer-ring {
        animation-duration: 1.6s;
    }
}

/* ------------[Тематическая кнопка загруженного трека]------------ //
   Галочка является настоящей SVG, поэтому не исчезает после сброса
   псевдоэлементов и всегда наследует активный цвет выбранной темы. Модуль: «оформление интерфейса». Часть 1/1 */
html:root body .vmesta-track-player.is-downloaded .vmesta-track-download {
    border-color: color-mix(in srgb, var(--track-accent, var(--theme-accent)) 48%, var(--track-line)) !important;
    background: color-mix(in srgb, var(--track-accent, var(--theme-accent)) 12%, var(--track-strong)) !important;
    color: var(--track-accent, var(--theme-accent)) !important;
}

html:root body .vmesta-track-player.is-downloaded .vmesta-track-download > .vmesta-track-download-glyph {
    display: block !important;
    opacity: 1 !important;
    fill: none !important;
    stroke: currentColor !important;
}

html:root body .vmesta-track-player.is-downloaded .vmesta-track-download::before {
    display: none !important;
    content: none !important;
}

/* ------------[Чистая панель эмодзи без рамок]------------ // Финальный слой
   убирает оставшиеся обводки у самой панели, категорий и отдельных смайликов.
   Состояние кнопки передаётся мягкой заливкой и масштабом, поэтому системные
   эмодзи не выглядят набором квадратных плиток ни в одной теме. Модуль:
   «панель смайликов и стикеров». Часть 1/1 */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded {
    --emoji-picker-accent: var(--theme-accent, var(--color-dynamic, #2563eb));
    border: 0 !important;
    outline: 0 !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1.1rem 2.8rem color-mix(in srgb, var(--theme-text-primary) 16%, transparent) !important;
    filter: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded :is(
    .emoji-picker-emoji-view,
    .emoji-picker-grid,
    .emoji-picker-tabs,
    .emoji-picker-tab,
    .emoji-picker-item,
    .emoji-picker-mode-tabs,
    .emoji-picker-mode-button,
    .emoji-picker-search-wrap,
    .emoji-picker-search,
    .emoji-picker-header > button
) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded :is(.emoji-picker-emoji-view, .emoji-picker-grid, .emoji-picker-tabs) {
    background: transparent !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-mode-tabs {
    background: var(--theme-surface-nested) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-search-wrap {
    background: var(--theme-surface-control) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded :is(.emoji-picker-item, .emoji-picker-tab) {
    background: transparent !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-item:is(:hover, :focus-visible) {
    background: var(--theme-surface-active) !important;
    transform: translateY(-1px) scale(1.08);
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-item:active {
    transform: scale(.94);
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-tab:is(:hover, :focus-visible, .is-active),
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-mode-button:is(:hover, :focus-visible, .is-active) {
    background: var(--theme-surface-active) !important;
    color: var(--emoji-picker-accent) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-header > button {
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-secondary) !important;
}

html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded .emoji-picker-header > button:is(:hover, :focus-visible) {
    background: var(--theme-surface-active) !important;
    color: var(--emoji-picker-accent) !important;
}

/* ------------[Фиксированное окно друзей и подписчиков]------------ // Окно
   сохраняет одну геометрию при любом числе строк, а прокрутка принадлежит
   только списку. Все поверхности берутся из пяти ролей темы, поэтому Monet
   Light и Monet Dark сохраняют ту же иерархию, что стандартные режимы. Модуль:
   «модальное окно друзей и подписчиков». Часть 1/1 */
html:root body #friends-modal > div {
    width: min(32rem, calc(100vw - 2rem)) !important;
    height: min(42rem, calc(100dvh - 2rem)) !important;
    min-height: min(42rem, calc(100dvh - 2rem)) !important;
    max-height: calc(100dvh - 2rem) !important;
    flex: 0 0 auto !important;
    border: 0 !important;
    border-radius: 1.15rem !important;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1.35rem 3.4rem color-mix(in srgb, var(--theme-text-primary) 18%, transparent) !important;
}

html:root body #friends-modal > div > .p-8 {
    flex: 0 0 auto !important;
    padding: 1.35rem 1.35rem .75rem !important;
    background: var(--theme-surface-panel) !important;
}

html:root body #friends-modal > div > .p-8 > h3 {
    margin: 0 !important;
    color: var(--theme-text-primary) !important;
    font-size: 1.35rem !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
}

html:root body #friends-modal > div > .friends-modal-footer-fill {
    display: none !important;
}

html:root body #friends-modal > div > button[aria-label="Закрыть модальное окно"] {
    top: .8rem !important;
    right: .8rem !important;
    width: 2.05rem !important;
    height: 2.05rem !important;
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-secondary) !important;
    box-shadow: none !important;
}

html:root body #friends-modal .friends-modal-tabs {
    width: min(100%, 18rem) !important;
    margin-top: 1rem !important;
    padding: .2rem !important;
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root body #friends-modal .friends-modal-tab {
    min-height: 2.25rem !important;
    padding: .45rem .85rem !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--theme-text-muted) !important;
    box-shadow: none !important;
}

html:root body #friends-modal .friends-modal-tab:is(:hover, :focus-visible, .is-active) {
    border: 0 !important;
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root body #friends-modal .friends-modal-filter-shell {
    padding: .75rem 0 .25rem !important;
    border: 0 !important;
}

html:root body #friends-modal .friends-modal-search-block {
    height: 2.55rem !important;
    border: 0 !important;
    background: var(--theme-surface-control) !important;
    box-shadow: none !important;
}

html:root body #friends-modal #modal-friends-search {
    height: 2.55rem !important;
    min-height: 2.55rem !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body #friends-modal #modal-friends-list {
    display: grid !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-content: start !important;
    gap: .28rem !important;
    padding: .45rem 1.35rem 1.25rem !important;
    overflow-y: auto !important;
    border: 0 !important;
    background: var(--theme-surface-panel) !important;
    box-shadow: none !important;
}

html:root body #friends-modal #modal-friends-list .modal-friend-card {
    min-height: 4.15rem !important;
    margin: 0 !important;
    padding: .58rem .65rem !important;
    border: 0 !important;
    border-radius: .82rem !important;
    background: transparent !important;
    color: var(--theme-text-primary) !important;
    box-shadow: none !important;
}

html:root body #friends-modal #modal-friends-list .modal-friend-card:is(:hover, :focus-within) {
    border: 0 !important;
    background: var(--theme-surface-nested) !important;
    box-shadow: none !important;
}

html:root body #friends-modal :is(.modal-friend-name, .modal-friend-details) {
    color: var(--theme-text-primary) !important;
}

html:root body #friends-modal .modal-friend-login {
    color: var(--theme-text-muted) !important;
}

html:root body #friends-modal :is(.modal-friend-action, .space-subscriber-kebab, .modal-friends-filter-button) {
    display: grid !important;
    width: 2.15rem !important;
    height: 2.15rem !important;
    min-width: 2.15rem !important;
    padding: 0 !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: .68rem !important;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    box-shadow: none !important;
}

html:root body #friends-modal :is(.modal-friend-action, .space-subscriber-kebab, .modal-friends-filter-button):is(:hover, :focus-visible, .is-active, .has-filters) {
    background: var(--theme-surface-active) !important;
    color: var(--theme-accent) !important;
    transform: translateY(-1px);
}

html:root body #friends-modal .modal-friends-empty {
    display: grid;
    min-height: 11rem;
    place-items: center;
    gap: .38rem;
    padding: 1.5rem;
    border: 0 !important;
    border-radius: .9rem;
    background: var(--theme-surface-nested) !important;
    color: var(--theme-text-muted) !important;
    text-align: center;
}

html:root body #friends-modal .modal-friends-empty > svg {
    width: 2rem;
    height: 2rem;
    fill: none;
    stroke: var(--theme-accent);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

html:root body #friends-modal .modal-friends-empty strong {
    color: var(--theme-text-primary) !important;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

html:root body #friends-modal .modal-friends-empty span {
    color: var(--theme-text-muted) !important;
    font-size: .6rem;
    font-weight: 750;
}

@media (max-width: 640px) {
    html:root body #friends-modal > div {
        width: 100% !important;
        height: calc(100dvh - 1rem) !important;
        min-height: calc(100dvh - 1rem) !important;
        max-height: calc(100dvh - 1rem) !important;
    }

    html:root body #friends-modal #modal-friends-list {
        max-height: none !important;
        padding-inline: .8rem !important;
    }
}

/* Финальный порядок каскада для расширенного каталога магазина. */
html:root body .gift-center-tabs button:last-child { margin-left: 0; }
html:root body .vmesta-market-dialog { width: min(68rem, 100%); max-height: min(50rem, calc(100dvh - 2rem)); }
html:root body .vmesta-market-dialog > header { grid-template-columns: 2.65rem minmax(11rem, .72fr) minmax(18rem, 1.15fr) auto 2.35rem; }
html:root body .vmesta-market-tabs { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 980px) {
    html:root body .vmesta-market-dialog > header { grid-template-columns: 2.65rem minmax(9rem, 1fr) auto 2.35rem; }
    html:root body .vmesta-market-gift-search { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 460px) {
    html:root body .vmesta-market-dialog > header { grid-template-columns: 2.35rem minmax(0, 1fr) 2.15rem; }
    html:root body .vmesta-market-balance { grid-column: 1 / -1; grid-row: 3; }
    html:root body .vmesta-market-close { grid-column: 3; grid-row: 1; }
}

/* ------------[Миниатюрная монета-планета]------------ // Баланс не растягивает шапку без поиска. */
html:root body .vmesta-market-dialog > header.is-without-gift-search {
    grid-template-columns: 2.65rem minmax(11rem, 1fr) auto 2.35rem;
}
html:root body .vmesta-market-balance {
    width: max-content;
    min-width: 4.35rem;
    max-width: 7rem;
    justify-self: end;
    gap: .38rem;
    padding: .38rem .52rem;
    white-space: nowrap;
}
html:root body .vmesta-market-balance > .vmesta-venus-coin {
    width: 1.18rem;
    height: 1.18rem;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}
html:root body .vmesta-market-balance > .vmesta-venus-coin circle:first-child {
    fill: color-mix(in srgb, var(--theme-accent) 16%, var(--theme-surface-panel));
}
html:root body .vmesta-market-balance > .vmesta-venus-coin circle:last-child { fill: currentColor; stroke: none; }
html:root body .vmesta-market-balance b { font-size: .68rem; }
html:root body .vmesta-market-balance small { font-size: .36rem; }

@media (max-width: 460px) {
    html:root body .vmesta-market-dialog > header,
    html:root body .vmesta-market-dialog > header.is-without-gift-search {
        grid-template-columns: 2.35rem minmax(0, 1fr) auto 2.15rem;
    }
    html:root body .vmesta-market-gift-search { grid-column: 1 / -1; grid-row: 2; }
    html:root body .vmesta-market-balance { grid-column: 3; grid-row: 1; min-width: 3.9rem; padding-inline: .42rem; }
    html:root body .vmesta-market-close { grid-column: 4; grid-row: 1; }
}

/* ------------[Единое облако поиска и фильтра]------------ */
html:root body .vmesta-market-gift-search {
    grid-template-columns: minmax(0, 1fr) 2.65rem;
    gap: 0;
    overflow: visible;
    border-radius: .82rem;
    background: var(--theme-surface-control) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-accent) 7%, transparent);
}
html:root body .vmesta-market-gift-search > label {
    border-radius: .82rem 0 0 .82rem;
    background: transparent !important;
}
html:root body .vmesta-market-gift-search > button {
    position: relative;
    width: 2.65rem;
    border-radius: 0 .82rem .82rem 0;
    background: transparent !important;
}
html:root body .vmesta-market-gift-search > button::before {
    position: absolute;
    left: 0;
    width: 1px;
    height: 1.25rem;
    background: color-mix(in srgb, var(--theme-accent) 20%, transparent);
    content: '';
}
html:root body .vmesta-market-gift-search:focus-within {
    box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--theme-accent) 34%, transparent);
}

/* ------------[Каталог стикеров]------------ */
html:root body .vmesta-sticker-market { display: grid; gap: .8rem; }
html:root body .gift-sticker-artwork { display: grid; place-items: center; width: 100%; height: 100%; min-width: 3.8rem; min-height: 3.8rem; border-radius: 1rem; background: var(--theme-surface-panel); }
html:root body .gift-sticker-artwork img { display: block; width: 72%; height: 72%; object-fit: contain; }
html:root body .vmesta-sticker-audiences { display: flex; flex-wrap: wrap; gap: .4rem; padding: .35rem; border-radius: .9rem; background: var(--theme-surface-panel) !important; }
html:root body .vmesta-sticker-audiences button { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.2rem; border: 0; border-radius: .7rem; padding: .4rem .7rem; background: transparent !important; color: var(--theme-text-secondary) !important; font-size: .58rem; font-weight: 900; cursor: pointer; }
html:root body .vmesta-sticker-audiences button.is-active { background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; box-shadow: 0 .35rem .8rem rgb(0 0 0 / .12); }
html:root body .vmesta-sticker-audiences b { display: grid; min-width: 1.15rem; height: 1.15rem; place-items: center; border-radius: 99px; background: rgb(127 148 180 / .15); font-size: .49rem; }
html:root body .vmesta-sticker-audience-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .55rem; min-height: 2.5rem; border-radius: .85rem; padding: .35rem .55rem .35rem .8rem; background: var(--theme-surface-panel) !important; }
html:root body .vmesta-sticker-audience-tools > span { color: var(--theme-text-secondary) !important; font-size: .55rem; font-weight: 750; line-height: 1.4; }
html:root body .vmesta-sticker-audience-tools > .vmesta-sticker-import-toggle { flex-shrink: 0; }
html:root body .vmesta-sticker-gift-action { display: inline-flex; align-items: center; gap: .32rem; min-height: 2.2rem; border: 0; border-radius: .62rem; padding: .4rem .65rem; background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; font-size: .52rem; font-weight: 950; cursor: pointer; }
html:root body .vmesta-sticker-gift-action svg { width: .8rem; height: .8rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
html:root body .vmesta-sticker-gift-panel { display: grid; gap: .5rem; border: 1px solid var(--theme-border-subtle); border-radius: 1rem; padding: .7rem; background: var(--theme-surface-panel) !important; }
html:root body .vmesta-sticker-gift-panel > strong { color: var(--theme-text-primary) !important; font-size: .7rem; }
html:root body .vmesta-sticker-gift-panel .vmesta-space-market-compose { grid-template-columns: minmax(10rem, .8fr) minmax(11rem, 1fr) minmax(11rem, 1fr) auto; padding: 0; }
html:root body .vmesta-sticker-gift-panel select { width: 100%; min-height: 2.45rem; border: 1px solid var(--theme-border-subtle); border-radius: .7rem; padding: 0 .65rem; background: var(--theme-surface-control) !important; color: var(--theme-text-primary) !important; font-size: .58rem; }
html:root body .vmesta-sticker-gift-status { margin: 0; color: var(--theme-text-secondary) !important; font-size: .55rem; }
@media (max-width: 800px) { html:root body .vmesta-sticker-gift-panel .vmesta-space-market-compose { grid-template-columns: 1fr; } }
html:root body .vmesta-sticker-market > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    border-radius: 1rem;
    padding: .88rem 1rem;
    background: var(--theme-surface-panel) !important;
}
html:root body .vmesta-sticker-market > header small,
html:root body .vmesta-sticker-pack-view > header small,
html:root body .vmesta-sticker-import small { color: var(--theme-accent) !important; font-size: .46rem; font-weight: 950; letter-spacing: .15em; }
html:root body .vmesta-sticker-market h3 { margin: .16rem 0 0; font-size: 1rem; font-weight: 950; }
html:root body .vmesta-sticker-market > header p { margin: .2rem 0 0; color: var(--theme-text-muted) !important; font-size: .57rem; line-height: 1.45; }
html:root body .vmesta-sticker-import-toggle {
    display: flex;
    align-items: center;
    gap: .4rem;
    border: 0;
    border-radius: .72rem;
    padding: .62rem .78rem;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    font-size: .55rem;
    font-weight: 950;
    cursor: pointer;
}
html:root body .vmesta-sticker-import-toggle.is-active { background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; }
html:root body .vmesta-sticker-import-toggle svg { width: .95rem; height: .95rem; fill: none; stroke: currentColor; stroke-width: 1.8; transform: rotate(90deg); }
html:root body .vmesta-sticker-import {
    display: grid;
    grid-template-columns: minmax(14rem, .75fr) minmax(18rem, 1.25fr);
    gap: .8rem 1rem;
    border-radius: 1rem;
    padding: .9rem 1rem;
    background: color-mix(in srgb, var(--theme-accent) 8%, var(--theme-surface-panel)) !important;
}
html:root body .vmesta-sticker-import > div { display: grid; align-content: center; gap: .18rem; }
html:root body .vmesta-sticker-import strong { font-size: .68rem; font-weight: 950; }
html:root body .vmesta-sticker-import p { margin: 0; color: var(--theme-text-muted) !important; font-size: .5rem; line-height: 1.45; }
html:root body .vmesta-sticker-import > label { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-self: center; gap: .45rem; }
html:root body .vmesta-sticker-import input { min-width: 0; height: 2.55rem; border: 0; outline: 0; border-radius: .72rem; padding: 0 .8rem; background: var(--theme-surface-panel) !important; color: var(--theme-text-primary) !important; font-size: .58rem; font-weight: 750; }
html:root body .vmesta-sticker-import button { border: 0; border-radius: .72rem; padding: 0 .85rem; background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; font-size: .54rem; font-weight: 950; cursor: pointer; }
html:root body .vmesta-sticker-import button:disabled,
html:root body .vmesta-sticker-import input:disabled { cursor: not-allowed; opacity: .55; }
html:root body .vmesta-sticker-import-status { grid-column: 2; }
html:root body .vmesta-sticker-import-status.is-warning { color: #c2742d !important; }
html:root body .vmesta-sticker-pack-layout { display: grid; grid-template-columns: minmax(12.5rem, .34fr) minmax(0, 1fr); gap: .8rem; align-items: start; }
html:root body .vmesta-sticker-pack-layout > aside { display: grid; max-height: 30rem; gap: .48rem; overflow-y: auto; padding-right: .16rem; scrollbar-width: thin; }
html:root body .vmesta-sticker-pack-card {
    display: grid;
    grid-template-columns: 3.35rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .58rem;
    border: 0;
    border-radius: .9rem;
    padding: .58rem .62rem;
    background: var(--theme-surface-panel) !important;
    color: var(--theme-text-primary) !important;
    text-align: left;
    cursor: pointer;
}
html:root body .vmesta-sticker-pack-card:hover,
html:root body .vmesta-sticker-pack-card.is-active { background: var(--theme-surface-active) !important; }
html:root body .vmesta-sticker-pack-card.is-active { box-shadow: inset .2rem 0 0 var(--theme-accent); }
html:root body .vmesta-sticker-pack-card > span:not(.vmesta-sticker-pack-cover) { display: grid; min-width: 0; gap: .08rem; }
html:root body .vmesta-sticker-pack-card strong { overflow: hidden; font-size: .61rem; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
html:root body .vmesta-sticker-pack-card small { overflow: hidden; color: var(--theme-text-muted) !important; font-size: .45rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .vmesta-sticker-pack-card > .vmesta-sticker-pack-meta { display:grid; min-width:3.8rem; justify-items:center; gap:.22rem; color:var(--theme-text-primary); }
html:root body .vmesta-sticker-pack-count { display:grid; min-width:1.65rem; height:1.65rem; place-items:center; border-radius:999px; padding:0 .28rem; background:var(--theme-surface-control) !important; color:var(--theme-accent) !important; font-size:.5rem; font-weight:950; }
html:root body .vmesta-sticker-pack-card-price { display:flex; min-height:1rem; align-items:center; justify-content:center; border-radius:999px; padding:.12rem .28rem; background:color-mix(in srgb,var(--theme-surface-control) 74%,transparent) !important; color:var(--theme-accent) !important; white-space:nowrap; }
html:root body .vmesta-sticker-pack-card-price .vmesta-coin-amount { gap:.16rem; font-size:.45rem; }
html:root body .vmesta-sticker-pack-card-price .vmesta-coin-icon { width:.68rem; height:.68rem; }
html:root body .vmesta-sticker-pack-card-price .vmesta-coin-amount.is-free b,
html:root body .vmesta-sticker-pack-access { color:var(--theme-accent) !important; font-size:.42rem; font-weight:950; }
html:root body .vmesta-sticker-pack-cover { display: block; width: 3.35rem; height: 3.35rem; object-fit: contain; border-radius: .75rem; background: var(--theme-surface-control); }
html:root body .vmesta-sticker-pack-cover.is-sprite { background-repeat: no-repeat; background-size: 500% 400%; }
html:root body .vmesta-sticker-pack-cover.is-fallback { display: grid; place-items: center; color: var(--theme-accent); font-size: 1.2rem; }
html:root body .vmesta-sticker-pack-view { min-height: 20rem; border-radius: 1rem; padding: .85rem; background: var(--theme-surface-panel) !important; }
html:root body .vmesta-sticker-pack-view > header { display: grid; grid-template-columns: 4rem minmax(0, 1fr); align-items: center; gap: .7rem; margin-bottom: .7rem; }
html:root body .vmesta-sticker-pack-view > header .vmesta-sticker-pack-cover { width: 4rem; height: 4rem; }
html:root body .vmesta-sticker-pack-view h4 { margin: .12rem 0 0; font-size: .85rem; font-weight: 950; }
html:root body .vmesta-sticker-pack-view header p { margin: .14rem 0 0; color: var(--theme-text-muted) !important; font-size: .5rem; }
html:root body .vmesta-sticker-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .46rem; }
html:root body .vmesta-sticker-grid article { display: grid; min-width: 0; justify-items: center; gap: .24rem; border-radius: .8rem; padding: .35rem .25rem .42rem; background: var(--theme-surface-nested) !important; overflow: hidden; }
html:root body .vmesta-sticker-grid article:hover { background: var(--theme-surface-active) !important; }
html:root body .vmesta-sticker-grid article > span:last-child { max-width: 100%; overflow: hidden; color: var(--theme-text-secondary) !important; font-size: .43rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
html:root body .vmesta-sticker-media { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; transform-origin: 50% 76%; }
html:root body .vmesta-sticker-media.is-sprite { background-repeat: no-repeat; background-size: 500% 400%; }
html:root body .vmesta-sticker-media.is-fallback { display: grid; place-items: center; color: var(--theme-accent); font-size: 1.7rem; }
@keyframes vmesta-sticker-wave { to { transform: rotate(5deg) scale(1.04); } }
@keyframes vmesta-sticker-hop { to { transform: translateY(-.28rem) scale(1.03); } }
@keyframes vmesta-sticker-laugh { to { transform: translateX(.08rem) rotate(1deg); } }
@keyframes vmesta-sticker-heart { to { transform: scale(1.075); } }
@keyframes vmesta-sticker-float { to { transform: translateY(-.18rem) rotate(-2deg); } }
html:root body .vmesta-sticker-empty { display: grid; grid-column: 1 / -1; min-height: 9rem; place-items: center; align-content: center; gap: .3rem; border-radius: .9rem; background: var(--theme-surface-panel); color: var(--theme-text-muted); text-align: center; }
html:root body .vmesta-sticker-empty svg { width: 2rem; height: 2rem; fill: none; stroke: var(--theme-accent); stroke-width: 1.6; }
html:root body .vmesta-sticker-empty strong { color: var(--theme-text-primary); font-size: .68rem; }
html:root body .vmesta-sticker-empty span { font-size: .5rem; }
/* Общая анимированная сцена не наследует размеры старой маленькой иконки. */
html:root body .vmesta-sticker-empty .vmesta-empty-visual svg { width: 100%; height: 100%; fill: color-mix(in srgb, var(--theme-surface-control) 86%, transparent); stroke: currentColor; stroke-width: 3; }
html:root body .vmesta-sticker-pack-view > .vmesta-sticker-empty > .vmesta-sticker-empty-scene { min-height: 18rem; }

@media (max-width: 820px) {
    html:root body .vmesta-sticker-pack-layout { grid-template-columns: 1fr; }
    html:root body .vmesta-sticker-pack-layout > aside { display: flex; max-height: none; overflow-x: auto; }
    html:root body .vmesta-sticker-pack-card { min-width: 17.5rem; }
    html:root body .vmesta-sticker-import { grid-template-columns: 1fr; }
    html:root body .vmesta-sticker-import-status { grid-column: 1; }
}
@media (max-width: 560px) {
    html:root body .level-market-accordion-toggle { min-height:3.1rem; padding:.58rem .68rem; }
    html:root body .level-market-accordion-content { padding:.2rem .55rem .65rem; }
    html:root body .vmesta-sticker-market > header { grid-template-columns: 1fr; }
    html:root body .vmesta-sticker-import > label { grid-template-columns: 1fr; }
    html:root body .vmesta-sticker-import button { min-height: 2.4rem; }
    html:root body .vmesta-sticker-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    html:root body .vmesta-sticker-grid article:hover .vmesta-sticker-media { animation: none !important; }
}

/* ------------[Стикеры в панели чата и сообщениях]------------ // Объединяет магазинный каталог с редактором сообщений и сохраняет прозрачный формат отдельного стикера. Модуль: «стикеры». Часть 1/1 */
html:root body .emoji-picker-sticker-view {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    width: 100%;
    min-height: 17.35rem;
    max-height: 17.35rem;
    align-items: stretch;
    justify-content: stretch;
    border: 0;
    border-radius: .82rem;
    background: var(--theme-surface-panel) !important;
    overflow: hidden;
    text-align: left;
}
html:root body .emoji-picker-sticker-view > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    padding: .48rem .62rem .34rem;
}
html:root body .emoji-picker-sticker-view > header strong { color: var(--theme-text-primary) !important; font-size: .68rem; font-weight: 950; }
html:root body .emoji-picker-sticker-view > header small { color: var(--theme-text-muted) !important; font-size: .47rem; font-weight: 800; }
html:root body .emoji-sticker-packs {
    display: flex;
    gap: .3rem;
    min-height: 3.1rem;
    padding: .42rem .48rem;
    overflow-x: auto;
    border-bottom: 1px solid var(--theme-border-subtle);
    scrollbar-width: thin;
}
html:root body .emoji-sticker-packs button {
    display: grid;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    border: 0;
    border-radius: .68rem;
    background: var(--theme-surface-control) !important;
    color: var(--theme-accent) !important;
    cursor: pointer;
}
html:root body .emoji-sticker-packs button:hover,
html:root body .emoji-sticker-packs button.is-active { background: var(--theme-surface-active) !important; box-shadow: inset 0 -.14rem 0 var(--theme-accent); }
html:root body .emoji-sticker-packs img,
html:root body .emoji-sticker-packs .is-sprite { display: block; width: 1.8rem; height: 1.8rem; object-fit: contain; }
html:root body .emoji-sticker-packs .is-sprite { background-repeat: no-repeat; background-size: 500% 400%; }
html:root body .emoji-sticker-packs .is-store { font-size: 1rem; font-weight: 900; }

/* ------------[Монеты, компактные режимы и недавние стикеры]------------ */
html:root body .vmesta-coin-icon{display:inline-block;flex:0 0 auto;width:1.05em;height:1.05em;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.18em}
html:root body .vmesta-coin-icon .vmesta-coin-moon{fill:currentColor;stroke:none}
html:root body .vmesta-coin-amount{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;color:var(--theme-accent);white-space:nowrap}
html:root body .vmesta-coin-amount b{color:inherit;font:inherit;font-weight:950}.vmesta-coin-amount small{color:var(--theme-text-muted);font-size:.72em;font-weight:850}
html:root body .gift-price .vmesta-coin-amount,html:root body .gift-compose-price .vmesta-coin-amount,html:root body .vmesta-market-gift-card em .vmesta-coin-amount{font-size:inherit}
html:root body .gift-price .vmesta-coin-icon{width:.78rem;height:.78rem}.level-setting-input b .vmesta-coin-icon{width:.9rem;height:.9rem}.level-up-coin-reward>span .vmesta-coin-icon{width:1.35rem;height:1.35rem}
html:root body .emoji-picker-expanded .emoji-picker-mode-tabs{width:auto;gap:.22rem;padding:.2rem;border:1px solid var(--theme-border);border-radius:.8rem;background:var(--theme-surface-control)}
html:root body .emoji-picker-expanded .emoji-picker-mode-button{display:grid;width:2.3rem;min-width:2.3rem;height:2.3rem;padding:0;place-items:center;border-radius:.62rem}
html:root body .emoji-picker-expanded .emoji-picker-mode-button svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html:root body .emoji-sticker-packs .is-recent svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html:root body .emoji-sticker-packs .is-recent,html:root body .emoji-sticker-packs .is-store{flex:0 0 2.35rem;border:1px solid var(--theme-border);background:var(--theme-surface-control)}
html:root body .emoji-sticker-grid.is-empty{display:grid;place-items:center}.emoji-sticker-recent-empty{display:grid;max-width:14rem;place-items:center;gap:.35rem;padding:2rem 1rem;color:var(--theme-text-muted);text-align:center}.emoji-sticker-recent-empty svg{width:2.2rem;height:2.2rem;fill:none;stroke:var(--theme-accent);stroke-width:1.5}.emoji-sticker-recent-empty strong{color:var(--theme-text-primary);font-size:.68rem}.emoji-sticker-recent-empty span{font-size:.54rem}
html:root body .emoji-sticker-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: max-content;
    align-content: start;
    gap: .28rem;
    min-height: 0;
    padding: .25rem .42rem .52rem;
    overflow: hidden auto;
    scrollbar-width: thin;
}
html:root body .emoji-sticker-grid > button {
    display: grid;
    aspect-ratio: 1;
    min-width: 0;
    place-items: center;
    border: 0;
    border-radius: .72rem;
    padding: .16rem;
    background: transparent !important;
    cursor: pointer;
}
html:root body .emoji-sticker-grid > button:hover { background: var(--theme-surface-active) !important; }
html:root body .emoji-sticker-grid > button:disabled { cursor: wait; opacity: .55; }
html:root body .emoji-sticker-media { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; transform-origin: 50% 76%; }
html:root body .emoji-sticker-media.is-sprite { background-repeat: no-repeat; background-size: 500% 400%; }
html:root body .emoji-sticker-media.is-fallback { display: grid; place-items: center; color: var(--theme-accent); font-size: 1.55rem; }
html:root body .emoji-sticker-loading,
html:root body .emoji-sticker-empty { display: grid; grid-row: 1 / -1; min-height: 100%; place-items: center; align-content: center; gap: .34rem; padding: 1rem; color: var(--theme-text-muted) !important; text-align: center; }
html:root body .emoji-sticker-loading i { width: 1.2rem; height: 1.2rem; border: .14rem solid var(--theme-border-subtle); border-top-color: var(--theme-accent); border-radius: 50%; animation: vmesta-unified-transfer-spin .75s linear infinite; }
html:root body .emoji-sticker-loading span,
html:root body .emoji-sticker-empty p { margin: 0; color: var(--theme-text-muted) !important; font-size: .55rem; }
html:root body .emoji-sticker-empty button { min-height: 2rem; border: 0; border-radius: .62rem; padding: 0 .75rem; background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; font-size: .52rem; font-weight: 900; }

html:root body .messenger-bubble.is-sticker-only {
    min-width: 8.8rem;
    max-width: 11rem;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
html:root body .messenger-bubble.is-sticker-only .messenger-bubble-tail { display: none; }
html:root body .messenger-sticker-message { position: relative; width: 10rem; max-width: 38vw; margin: 0; aspect-ratio: 1; }
html:root body .messenger-sticker-media { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 .35rem .55rem rgb(15 23 42 / .14)); }
html:root body .messenger-sticker-media.is-sprite { background-repeat: no-repeat; background-size: 500% 400%; }
html:root body .messenger-sticker-media.is-fallback { display: grid; place-items: center; color: var(--theme-accent); font-size: 4rem; }
html:root body .messenger-sticker-message figcaption { display: none; }
html:root body .messenger-bubble.is-sticker-only > span {
    position: absolute;
    right: .25rem;
    bottom: .18rem;
    display: flex;
    align-items: center;
    min-height: 1.35rem;
    border-radius: 999px;
    padding: .12rem .4rem;
    background: rgb(15 23 42 / .58) !important;
    color: #fff !important;
    backdrop-filter: blur(.35rem);
}
html:root body .messenger-bubble.is-sticker-only > span time,
html:root body .messenger-bubble.is-sticker-only > span em { color: inherit !important; }
@media (max-width: 480px) {
    html:root body .emoji-sticker-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    html:root body .messenger-sticker-message { width: 8.6rem; max-width: 44vw; }
}
@media (prefers-reduced-motion: reduce) {
    html:root body .emoji-sticker-grid > button:hover .emoji-sticker-media,
    html:root body .emoji-sticker-loading i { animation: none !important; }
}

/* ------------[Личная коллекция и прозрачные сообщения-стикеры]------------ // Связывает магазин, библиотеку пользователя и панель чата без цветной карточки вокруг изображения. */
html:root body.messages-route .messenger-message .messenger-bubble.is-sticker-only,
html:root body.messages-route .messenger-message:hover .messenger-bubble.is-sticker-only,
html:root body .messenger-message .messenger-bubble.is-sticker-only,
html:root body .messenger-sticker-message {
    border-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
}
html:root body .messenger-sticker-message { cursor: pointer; outline: 0; }
html:root body .messenger-sticker-message:focus-visible { filter: drop-shadow(0 0 .35rem color-mix(in srgb, var(--theme-accent) 55%, transparent)); }
html:root body :is(.messenger-sticker-media,.emoji-sticker-media,.vmesta-sticker-media).is-lottie > svg { display: block; width: 100% !important; height: 100% !important; overflow: visible; }

html:root body .vmesta-sticker-pack-view > header { grid-template-columns: 4rem minmax(0, 1fr) auto; }
html:root body .vmesta-sticker-collection-action,
html:root body .vmesta-sticker-preview-add {
    min-height: 2.15rem;
    border: 0;
    border-radius: .68rem;
    padding: 0 .8rem;
    background: var(--theme-accent) !important;
    color: var(--theme-accent-contrast, #fff) !important;
    font-size: .52rem;
    font-weight: 950;
    cursor: pointer;
}
html:root body :is(.vmesta-sticker-collection-action,.vmesta-sticker-preview-add).is-added { background: var(--theme-surface-control) !important; color: var(--theme-accent) !important; cursor: default; }

html:root body :is(.vmesta-sticker-preview-modal,.vmesta-sticker-library-modal) {
    position: fixed;
    inset: 0;
    z-index: 2147483612;
    display: grid;
    place-items: center;
    padding: 1rem;
}
html:root body :is(.vmesta-sticker-preview-modal,.vmesta-sticker-library-modal).hidden { display: none !important; }
html:root body :is(.vmesta-sticker-preview-backdrop,.vmesta-sticker-library-backdrop) {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgb(7 16 27 / .68) !important;
    backdrop-filter: blur(.45rem);
}
html:root body .vmesta-sticker-preview-modal > section {
    position: relative;
    display: flex;
    flex-direction: column;
    width: min(42rem, 94vw);
    max-height: min(38rem, 88vh);
    border-radius: 1.2rem;
    padding: 0;
    background: var(--theme-surface-elevated, var(--theme-surface-panel)) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1.4rem 4rem rgb(7 16 27 / .28);
    overflow: hidden;
}
html:root body .vmesta-sticker-preview-content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin: .38rem .28rem .38rem .38rem;
    padding: .62rem .95rem .62rem .62rem;
    scrollbar-gutter: stable;
}
html:root body .vmesta-sticker-preview-close {
    position: absolute;
    z-index: 2;
    top: .7rem;
    right: .7rem;
    width: 2.35rem;
    height: 2.35rem;
    border: 0;
    border-radius: .72rem;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-secondary) !important;
    font-size: 1.15rem;
    cursor: pointer;
}
html:root body .vmesta-sticker-preview-content > header {
    display: grid;
    grid-template-columns: 4.2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    padding: .2rem 3rem .8rem 0;
}
html:root body .vmesta-sticker-preview-content > header .vmesta-sticker-pack-cover { width: 4.2rem; height: 4.2rem; background-color: transparent !important; }
html:root body .vmesta-sticker-preview-content h3 { margin: .1rem 0; font-size: 1rem; font-weight: 950; }
html:root body .vmesta-sticker-preview-content p,
html:root body .vmesta-sticker-preview-content small { margin: 0; color: var(--theme-text-muted) !important; font-size: .52rem; font-weight: 800; }
html:root body .vmesta-sticker-preview-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .42rem; }
html:root body .vmesta-sticker-preview-grid article { display: grid; aspect-ratio: 1; place-items: center; border-radius: .85rem; padding: .2rem; background: transparent !important; }
html:root body .vmesta-sticker-preview-grid article:hover { background: var(--theme-surface-control) !important; }

html:root body .vmesta-sticker-library-modal > section {
    position: relative;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    width: min(46rem, 94vw);
    height: min(36rem, 88vh);
    border-radius: 1.2rem;
    background: var(--theme-surface-elevated, var(--theme-surface-panel)) !important;
    color: var(--theme-text-primary) !important;
    box-shadow: 0 1.4rem 4rem rgb(7 16 27 / .28);
    overflow: hidden;
}
html:root body .vmesta-sticker-library-modal > section > header { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .9rem 1rem .7rem; }
html:root body .vmesta-sticker-library-modal > section > header > span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: .85rem; background: var(--theme-surface-control); color: var(--theme-accent); }
html:root body .vmesta-sticker-library-modal > section > header svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.7; }
html:root body .vmesta-sticker-library-modal h2 { margin: .08rem 0; font-size: 1rem; font-weight: 950; }
html:root body .vmesta-sticker-library-modal header p,
html:root body .vmesta-sticker-library-modal header small { margin: 0; color: var(--theme-text-muted) !important; font-size: .5rem; }
html:root body .vmesta-sticker-library-modal > section > header > button { width: 2.35rem; height: 2.35rem; border: 0; border-radius: .72rem; background: var(--theme-surface-control) !important; color: var(--theme-text-secondary) !important; font-size: 1.15rem; cursor: pointer; }
html:root body .vmesta-sticker-library-modal > section > nav { display: flex; gap: .42rem; padding: 0 1rem .75rem; border-bottom: 1px solid var(--theme-border-subtle); }
html:root body .vmesta-sticker-library-modal > section > nav button { min-height: 2.15rem; border: 0; border-radius: .65rem; padding: 0 .75rem; background: var(--theme-surface-control) !important; color: var(--theme-text-secondary) !important; font-size: .52rem; font-weight: 900; cursor: pointer; }
html:root body .vmesta-sticker-library-modal > section > nav button.is-active,
html:root body .vmesta-sticker-library-modal > section > nav button.is-shop { background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; }
html:root body .vmesta-sticker-library-modal > section > nav button.is-shop { margin-left: auto; }
html:root body .vmesta-sticker-library-content { min-height: 0; margin: 0 .28rem .28rem 0; padding: .8rem .8rem 1rem 1rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
html:root body .vmesta-sticker-library-card { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) auto auto; align-items: center; gap: .65rem; margin-bottom: .45rem; border-radius: .9rem; padding: .55rem .65rem; background: var(--theme-surface-control) !important; }
html:root body .vmesta-sticker-library-cover { border: 0; padding: 0; background: transparent !important; cursor: pointer; }
html:root body .vmesta-sticker-library-cover .vmesta-sticker-pack-cover { background-color: transparent !important; }
html:root body .vmesta-sticker-library-card > div { display: grid; gap: .12rem; min-width: 0; }
html:root body .vmesta-sticker-library-card strong { overflow: hidden; font-size: .65rem; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
html:root body .vmesta-sticker-library-card small { color: var(--theme-text-muted) !important; font-size: .47rem; }
html:root body .vmesta-sticker-library-switch { display: grid; grid-template-columns: auto auto; align-items: center; gap: .38rem; cursor: pointer; }
html:root body .vmesta-sticker-library-switch input { position: absolute; opacity: 0; pointer-events: none; }
html:root body .vmesta-sticker-library-switch span { position: relative; width: 2rem; height: 1.12rem; border-radius: 999px; background: var(--theme-border-strong) !important; }
html:root body .vmesta-sticker-library-switch span::after { content: ''; position: absolute; top: .14rem; left: .14rem; width: .84rem; height: .84rem; border-radius: 50%; background: #fff; transition: transform .18s ease; }
html:root body .vmesta-sticker-library-switch input:checked + span { background: var(--theme-accent) !important; }
html:root body .vmesta-sticker-library-switch input:checked + span::after { transform: translateX(.88rem); }
html:root body .vmesta-sticker-library-switch b { color: var(--theme-text-muted); font-size: .46rem; }
html:root body :is(.vmesta-sticker-library-archive,.vmesta-sticker-library-restore) { min-height: 2rem; border: 0; border-radius: .62rem; padding: 0 .65rem; background: var(--theme-surface-panel) !important; color: var(--theme-text-secondary) !important; font-size: .48rem; font-weight: 900; cursor: pointer; }
html:root body .vmesta-sticker-library-restore { color: var(--theme-accent) !important; }

@media (max-width: 620px) {
    html:root body .vmesta-sticker-pack-view > header,
    html:root body .vmesta-sticker-preview-content > header { grid-template-columns: 3.6rem minmax(0, 1fr); }
    html:root body :is(.vmesta-sticker-collection-action,.vmesta-sticker-preview-add) { grid-column: 1 / -1; }
    html:root body .vmesta-sticker-preview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    html:root body .vmesta-sticker-library-card { grid-template-columns: 3.4rem minmax(0, 1fr) auto; }
    html:root body .vmesta-sticker-library-archive { grid-column: 2 / -1; }
    html:root body .vmesta-sticker-library-switch b { display: none; }
}

/* ------------[Стабильный фон и экономное TGS-воспроизведение]------------ // Перекрывает Monet-заливку с той же специфичностью и оставляет SVG активным только у выбранного runtime стикера. */
html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-message.is-incoming .messenger-bubble.is-sticker-only:not(.is-poll),
html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-message.is-outgoing .messenger-bubble.is-sticker-only:not(.is-poll),
html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-message.is-incoming:hover .messenger-bubble.is-sticker-only:not(.is-poll),
html:root.adaptive-theme.theme-monet-active body.messages-route
    .messenger-message.is-outgoing:hover .messenger-bubble.is-sticker-only:not(.is-poll) {
    --message-shape-fill: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
}
html:root body [data-vmesta-lottie].is-lottie { position: relative; overflow: visible; isolation: isolate; }
html:root body [data-vmesta-lottie].is-lottie > :is(svg,.vmesta-lottie-poster) {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    pointer-events: none;
}
html:root body [data-vmesta-lottie].is-lottie > svg { z-index: 2; opacity: 0; overflow: visible; }
html:root body [data-vmesta-lottie].is-lottie > .vmesta-lottie-poster { z-index: 1; opacity: 1; }
html:root body [data-vmesta-lottie].is-lottie.is-playing > svg,
html:root body [data-vmesta-lottie].is-lottie.is-lottie-ready:not(.has-lottie-poster) > svg { opacity: 1; }
html:root body [data-vmesta-lottie].is-lottie.is-playing > .vmesta-lottie-poster { opacity: 0; }

/* ------------[Canvas-TGS без фонового WEBP]------------ // Настоящий кадр TGS остаётся прозрачным и резким даже при выключенной анимации. */
html:root body [data-vmesta-lottie].is-lottie > canvas,
html:root body [data-vmesta-lottie].is-lottie > .vmesta-lottie-fallback {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    background: transparent !important;
    pointer-events: none;
}
html:root body [data-vmesta-lottie].is-lottie > canvas { opacity: 0; }
html:root body [data-vmesta-lottie].is-lottie.is-lottie-ready > canvas { opacity: 1; }
html:root body [data-vmesta-lottie].is-lottie.is-lottie-ready > .vmesta-lottie-poster { display: none !important; }

/* ------------[Анимированные состояния библиотеки стикеров]------------ */
html:root body .vmesta-sticker-library-modal > section > header > span { animation: vmestaStickerIconFloat 2.8s ease-in-out infinite; }
html:root body .vmesta-sticker-empty > .vmesta-sticker-empty-motion {
    position: relative;
    display: grid;
    width: 3.4rem;
    height: 3.4rem;
    place-items: center;
    border-radius: 1rem;
    background: var(--theme-surface-control) !important;
    animation: vmestaStickerIconFloat 2.6s ease-in-out infinite;
}
html:root body .vmesta-sticker-empty > .vmesta-sticker-empty-motion i {
    position: absolute;
    width: .48rem;
    height: .48rem;
    border-radius: 50%;
    background: var(--theme-accent) !important;
    box-shadow: 0 0 .75rem color-mix(in srgb, var(--theme-accent) 65%, transparent);
    animation: vmestaStickerIconOrbit 2.3s linear infinite;
}
@keyframes vmestaStickerIconFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-.28rem) rotate(-3deg); } }
@keyframes vmestaStickerIconOrbit { from { transform: rotate(0) translateX(1.6rem) rotate(0); } to { transform: rotate(360deg) translateX(1.6rem) rotate(-360deg); } }

/* ------------[Отправка набора стикеров]------------ */
html:root body .vmesta-sticker-preview-actions { display: grid; gap: .35rem; min-width: 8.5rem; }
html:root body .vmesta-sticker-preview-share {
    min-height: 2.15rem;
    border: 1px solid var(--theme-border-subtle);
    border-radius: .68rem;
    padding: 0 .8rem;
    background: var(--theme-surface-control) !important;
    color: var(--theme-text-secondary) !important;
    font-size: .5rem;
    font-weight: 950;
    cursor: pointer;
}
html:root body .vmesta-sticker-share-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483614;
    display: grid;
    place-items: center;
    padding: 1rem;
}
html:root body .vmesta-sticker-share-modal.hidden { display: none !important; }
html:root body .vmesta-sticker-share-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgb(7 16 27 / .72) !important; backdrop-filter: blur(.4rem); }
html:root body .vmesta-sticker-share-modal > section { position: relative; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; width: min(27rem, 94vw); max-height: min(34rem, 88vh); border-radius: 1rem; padding: .85rem; background: var(--theme-surface-elevated, var(--theme-surface-panel)) !important; box-shadow: 0 1.3rem 3.4rem rgb(7 16 27 / .3); }
html:root body .vmesta-sticker-share-modal > section > header { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .65rem; }
html:root body .vmesta-sticker-share-modal h3 { margin: .08rem 0 0; font-size: .9rem; }
html:root body .vmesta-sticker-share-modal header small { color: var(--theme-accent) !important; font-size: .45rem; font-weight: 950; letter-spacing: .12em; }
html:root body .vmesta-sticker-share-modal header button { width: 2.2rem; height: 2.2rem; border: 0; border-radius: .65rem; background: var(--theme-surface-control) !important; color: var(--theme-text-secondary) !important; font-size: 1.1rem; cursor: pointer; }
html:root body .vmesta-sticker-share-search { display: flex; align-items: center; gap: .45rem; min-height: 2.55rem; border-radius: .75rem; padding: 0 .75rem; background: var(--theme-surface-control) !important; color: var(--theme-accent); }
html:root body .vmesta-sticker-share-search input { width: 100%; border: 0; outline: 0; background: transparent !important; color: var(--theme-text-primary) !important; font: inherit; }
html:root body .vmesta-sticker-share-targets { min-height: 8rem; margin-top: .55rem; overflow: auto; }
html:root body .vmesta-sticker-share-targets > button { display: grid; grid-template-columns: 2.35rem minmax(0,1fr) auto; align-items: center; gap: .55rem; width: 100%; min-height: 3.15rem; border: 0; border-radius: .75rem; padding: .42rem .55rem; background: transparent !important; color: var(--theme-text-primary) !important; text-align: left; cursor: pointer; }
html:root body .vmesta-sticker-share-targets > button:hover { background: var(--theme-surface-control) !important; }
html:root body .vmesta-sticker-share-targets > button > :is(img,span) { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .72rem; background: var(--theme-surface-control) !important; object-fit: cover; color: var(--theme-accent); font-weight: 950; }
html:root body .vmesta-sticker-share-targets button div { display: grid; gap: .08rem; min-width: 0; }
html:root body .vmesta-sticker-share-targets button strong { overflow: hidden; font-size: .6rem; text-overflow: ellipsis; white-space: nowrap; }
html:root body .vmesta-sticker-share-targets button small { color: var(--theme-text-muted) !important; font-size: .46rem; }
html:root body .vmesta-sticker-share-targets button b { color: var(--theme-accent); font-size: .48rem; }
html:root body .vmesta-sticker-share-status { min-height: .8rem; margin: .35rem 0 0; color: var(--theme-danger, #d55) !important; font-size: .48rem; }

html:root body .messenger-sticker-pack-card { display: grid; gap: .55rem; width: min(18rem, 72vw); border-radius: .9rem; padding: .75rem; background: var(--theme-surface-control) !important; }
html:root body .messenger-sticker-pack-card > small { color: var(--theme-accent) !important; font-size: .43rem; font-weight: 950; letter-spacing: .12em; }
html:root body .messenger-sticker-pack-card > div { display: grid; grid-template-columns: 3.4rem minmax(0,1fr); align-items: center; gap: .65rem; }
html:root body .messenger-sticker-pack-card > div > span { display: grid; gap: .16rem; }
html:root body .messenger-sticker-pack-card strong { font-size: .72rem; font-weight: 950; }
html:root body .messenger-sticker-pack-card em { color: var(--theme-text-muted) !important; font-size: .48rem; font-style: normal; }
html:root body .messenger-sticker-pack-cover { display: block; width: 3.4rem; height: 3.4rem; border-radius: .78rem; object-fit: contain; background: transparent !important; }
html:root body .messenger-sticker-pack-cover.is-builtin { background-image: url('/assets/stickers/iskra-kometa-sheet-v2.png') !important; background-repeat: no-repeat !important; background-size: 500% 400% !important; background-position: 0 0 !important; }
html:root body .messenger-sticker-pack-cover.is-fallback { display: grid; place-items: center; color: var(--theme-accent); font-size: 1.8rem; }
html:root body .messenger-sticker-pack-card > button { min-height: 2.15rem; border: 0; border-radius: .65rem; background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; font-size: .52rem; font-weight: 950; cursor: pointer; }

@media (max-width: 620px) {
    html:root body .vmesta-sticker-preview-actions { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
    html:root body .vmesta-sticker-library-modal > section > header > span,
    html:root body .vmesta-sticker-empty > .vmesta-sticker-empty-motion,
    html:root body .vmesta-sticker-empty > .vmesta-sticker-empty-motion i { animation: none !important; }
}

/* ------------[V2.0.59: окончательный каскад стикеров]------------ */
html:root body .messenger-message .messenger-bubble.is-sticker-only,
html:root body .messenger-message:hover .messenger-bubble.is-sticker-only,
html:root body .messenger-message.is-incoming .messenger-bubble.is-sticker-only,
html:root body .messenger-message.is-outgoing .messenger-bubble.is-sticker-only {
    --message-shape-fill: transparent !important;
    --msg-bubble-in: transparent !important;
    --msg-bubble-out: transparent !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
html:root body .vmesta-sticker-library-card { grid-template-columns: 3.5rem minmax(0, 1fr) auto auto auto; }
html:root body .vmesta-sticker-library-share { display: grid; width: 2rem; height: 2rem; place-items: center; border: 0; border-radius: .62rem; padding: 0; background: var(--theme-surface-panel) !important; color: var(--theme-accent) !important; cursor: pointer; transition: transform .16s ease, background .16s ease; }
html:root body .vmesta-sticker-library-share:hover { transform: translateY(-.08rem); background: var(--theme-surface-active) !important; }
html:root body .vmesta-sticker-library-share svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
html:root body .vmesta-sticker-share-modal > section { width: min(25rem, 94vw); max-height: min(32rem, 86vh); border: 0; border-radius: 1.15rem; padding: .8rem; background: var(--theme-surface-panel) !important; }
html:root body .vmesta-sticker-share-modal > section > header { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr) 2.2rem; align-items: center; gap: .65rem; margin: 0 0 .65rem; padding: .2rem; }
html:root body .vmesta-sticker-share-brand { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: .82rem; background: var(--theme-surface-control) !important; color: var(--theme-accent); }
html:root body .vmesta-sticker-share-brand svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.75; }
html:root body .vmesta-sticker-share-modal h3 { margin: .06rem 0; color: var(--theme-text-primary) !important; font-size: .85rem; font-weight: 950; }
html:root body .vmesta-sticker-share-modal header p { margin: 0; color: var(--theme-text-muted) !important; font-size: .46rem; line-height: 1.35; }
html:root body .vmesta-sticker-share-search { min-height: 2.7rem; border: 0; border-radius: .78rem; background: var(--theme-surface-control) !important; }
html:root body .vmesta-sticker-share-search > span { display: grid; width: 1.25rem; place-items: center; }
html:root body .vmesta-sticker-share-search svg { width: .9rem; height: .9rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
html:root body .vmesta-sticker-share-targets { display: grid; gap: .3rem; padding-top: .25rem; }
html:root body .vmesta-sticker-share-targets > button { min-height: 3.35rem; border-radius: .78rem; padding: .45rem .55rem; background: var(--theme-surface-elevated, var(--theme-surface-control)) !important; }
html:root body .vmesta-sticker-share-targets > button:hover { background: var(--theme-surface-active) !important; }
html:root body .vmesta-sticker-share-targets > button > b { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: .56rem; background: var(--theme-accent) !important; color: var(--theme-accent-contrast, #fff) !important; font-size: .8rem; }
html:root body .vmesta-sticker-share-targets > button:disabled { opacity: .65; cursor: wait; }
@media (max-width: 620px) {
    html:root body .vmesta-sticker-library-card { grid-template-columns: 3.4rem minmax(0, 1fr) auto auto; }
    html:root body .vmesta-sticker-library-archive { grid-column: auto; }
}

/* ------------[V2.0.60: управление импортированными наборами]------------ */
html:root body :is(.vmesta-sticker-grid,.vmesta-sticker-preview-grid) > article,
html:root body .messenger-message .messenger-bubble.is-sticker-only {
    contain: layout paint;
}
html:root body .vmesta-sticker-pack-actions { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
html:root body .vmesta-sticker-delete-action { display: inline-flex; min-height: 2.15rem; align-items: center; gap: .35rem; border: 0; border-radius: .68rem; padding: 0 .7rem; background: color-mix(in srgb, var(--theme-danger, #d84d64) 12%, var(--theme-surface-control)) !important; color: var(--theme-danger, #d84d64) !important; font-size: .5rem; font-weight: 950; cursor: pointer; }
html:root body .vmesta-sticker-delete-action:hover { background: color-mix(in srgb, var(--theme-danger, #d84d64) 20%, var(--theme-surface-control)) !important; }
html:root body .vmesta-sticker-delete-action svg { width: .86rem; height: .86rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html:root body .vmesta-sticker-delete-modal { position: fixed; inset: 0; z-index: 2147483616; display: grid; place-items: center; padding: 1rem; }
html:root body .vmesta-sticker-delete-modal.hidden { display: none !important; }
html:root body .vmesta-sticker-delete-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgb(7 16 27 / .74) !important; backdrop-filter: blur(.45rem); }
html:root body .vmesta-sticker-delete-modal > section { position: relative; display: grid; grid-template-columns: 3.25rem minmax(0,1fr); gap: .8rem; width: min(30rem, 94vw); border: 1px solid var(--theme-divider) !important; border-radius: 1.05rem; padding: 1.1rem; background: var(--theme-surface-panel) !important; color: var(--theme-text-primary) !important; box-shadow: 0 1.4rem 4rem rgb(7 16 27 / .3); }
html:root body .vmesta-sticker-delete-icon { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border-radius: .9rem; background: color-mix(in srgb, var(--theme-danger, #d84d64) 13%, var(--theme-surface-control)) !important; color: var(--theme-danger, #d84d64); }
html:root body .vmesta-sticker-delete-icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html:root body .vmesta-sticker-delete-modal small { color: var(--theme-danger, #d84d64) !important; font-size: .54rem; font-weight: 950; letter-spacing: .12em; }
html:root body .vmesta-sticker-delete-modal h3 { margin: .18rem 0 .38rem; color: var(--theme-text-primary) !important; font-size: 1rem; font-weight: 950; }
html:root body .vmesta-sticker-delete-modal p { margin: 0; color: var(--theme-text-secondary) !important; font-size: .62rem; line-height: 1.5; }
html:root body .vmesta-sticker-delete-name { display: block; margin-top: .6rem; color: var(--theme-text-primary) !important; font-size: .72rem; font-weight: 900; }
html:root body .vmesta-sticker-delete-modal footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: .5rem; margin-top: .4rem; }
html:root body .vmesta-sticker-delete-modal footer button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; border: 0; border-radius: .68rem; padding: .5rem .9rem; background: var(--theme-surface-control) !important; color: var(--theme-text-primary) !important; -webkit-text-fill-color: var(--theme-text-primary) !important; font-size: .64rem !important; font-weight: 900; line-height: 1.2; white-space: nowrap; opacity: 1 !important; cursor: pointer; }
html:root body .vmesta-sticker-delete-modal footer button.is-danger { min-width: 8.5rem; background: #c92d43 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html:root body .vmesta-sticker-delete-modal footer button.is-danger:hover { background: #ad2035 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
html:root body .vmesta-sticker-delete-modal footer button.is-danger > span { display: inline-block !important; color: #fff !important; -webkit-text-fill-color: #fff !important; visibility: visible !important; opacity: 1 !important; }
html:root body .vmesta-sticker-delete-modal footer button:disabled { cursor: wait; opacity: .65 !important; }
html:root body .vmesta-sticker-delete-status { grid-column: 1 / -1; min-height: .85rem; color: var(--theme-danger, #d84d64) !important; font-size: .6rem !important; font-weight: 800; }
html:root body .vmesta-sticker-delete-modal footer button:focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 2px; }
@media (max-width: 620px) {
    html:root body .vmesta-sticker-pack-actions { grid-column: 1 / -1; justify-content: stretch; }
    html:root body .vmesta-sticker-pack-actions > button { flex: 1; }
}

/* ------------[V2.0.61: фирменные стикеры «Искра и Комета»]------------ */
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media,.vmesta-sticker-pack-cover,.messenger-sticker-pack-cover).is-sprite {
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-size: 580% 460% !important;
    position: relative;
    isolation: isolate;
    overflow: hidden;
}
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-color: transparent;
    background-image: var(--sticker-motion-image);
    background-position: inherit;
    background-repeat: no-repeat;
    background-size: 580% 460%;
    opacity: 0;
    animation: vmestaMascotFrameBlend 2.8s ease-in-out infinite alternate;
    animation-play-state: paused;
}
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).vmesta-sprite-motion { animation-play-state: paused !important; }
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).vmesta-sprite-motion.is-sprite-visible.motion-1 { animation: vmesta-sticker-wave 2.4s ease-in-out infinite alternate !important; animation-play-state: running !important; }
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).vmesta-sprite-motion.is-sprite-visible.motion-2 { animation: vmesta-sticker-hop 2.1s ease-in-out infinite alternate !important; animation-play-state: running !important; }
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).vmesta-sprite-motion.is-sprite-visible.motion-3 { animation: vmesta-sticker-laugh 1.8s ease-in-out infinite alternate !important; animation-play-state: running !important; }
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).vmesta-sprite-motion.is-sprite-visible.motion-4 { animation: vmesta-sticker-heart 2.3s ease-in-out infinite alternate !important; animation-play-state: running !important; }
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).vmesta-sprite-motion.is-sprite-visible.motion-5 { animation: vmesta-sticker-float 2.7s ease-in-out infinite alternate !important; animation-play-state: running !important; }

html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite.sticker-reaction-4,
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite.sticker-reaction-19 {
    position: relative;
    isolation: isolate;
}
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite.sticker-reaction-4::after {
    content: '';
    position: absolute;
    top: 9%;
    right: 9%;
    z-index: 2;
    width: 21%;
    aspect-ratio: 1;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%23ff7898'/%3E%3Cstop offset='1' stop-color='%23e73361'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M32 55C18 44 7 35 7 21 7 10 20 5 28 14l4 5 4-5c8-9 21-4 21 7 0 14-11 23-25 34Z' fill='url(%23g)' stroke='white' stroke-width='4'/%3E%3Cpath d='M18 18c3-4 7-4 10-1' fill='none' stroke='%23ffd7e1' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    filter: drop-shadow(0 .1rem .2rem rgb(171 24 67 / .24));
    animation: vmestaMascotVectorPulse .78s ease-in-out infinite alternate;
    animation-play-state: paused;
}
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite.sticker-reaction-19::after {
    content: '';
    position: absolute;
    top: 8%;
    right: 8%;
    z-index: 2;
    width: 22%;
    aspect-ratio: 1;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='m32 5 7.4 15 16.6 2.4-12 11.7L46.8 51 32 43.2 17.2 51 20 34.1 8 22.4 24.6 20Z' fill='%23ffd84d' stroke='white' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='m32 13 4.5 9.1' stroke='%23fff2a8' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    animation: vmestaMascotVectorSpin 1.8s ease-in-out infinite;
    animation-play-state: paused;
}
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite-visible::after { animation-play-state: running; }
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite-visible::before { animation-play-state: running; }
@keyframes vmestaMascotFrameBlend { 0%,15% { opacity: 0; } 85%,100% { opacity: 1; } }
@keyframes vmestaMascotVectorPulse { to { transform: scale(1.22) rotate(6deg); } }
@keyframes vmestaMascotVectorSpin { 0%,100% { transform: scale(.9) rotate(-8deg); } 50% { transform: scale(1.12) rotate(8deg); } }
@media (prefers-reduced-motion: reduce) {
    html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).vmesta-sprite-motion,
    html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite::before,
    html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-sprite::after { animation: none !important; }
}

/* ------------[V2.0.66: компактная навигация и пиктограммы коллекций]------------ */
html:root body #profile-left-rail .profile-sidebar-navigation-frame {
    padding: .3rem !important;
}
html:root body #profile-left-rail .profile-sidebar-navigation {
    gap: .06rem !important;
}
html:root body #profile-left-rail .profile-sidebar-navigation > .nav-item {
    min-height: 2.22rem !important;
    gap: .54rem !important;
    padding: .4rem .62rem !important;
    border-radius: .64rem !important;
}
html:root body #profile-left-rail .profile-sidebar-more {
    gap: .08rem !important;
    margin-top: .08rem !important;
    padding-top: .18rem !important;
}
html:root body .vmesta-market-tabs [data-market-tab] svg {
    color: var(--theme-accent) !important;
    stroke: currentColor !important;
}
html:root body .vmesta-sticker-library-modal > section > nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
}
html:root body .vmesta-sticker-library-modal > section > nav button svg,
html:root body :is(.vmesta-sticker-library-archive,.vmesta-sticker-library-restore) svg,
html:root body .vmesta-sticker-preview-share svg {
    width: .86rem;
    height: .86rem;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
html:root body .vmesta-sticker-library-modal > section > nav button:not(.is-active):not(.is-shop) svg {
    color: var(--theme-accent) !important;
}
html:root body :is(.vmesta-sticker-library-archive,.vmesta-sticker-library-restore),
html:root body .vmesta-sticker-preview-share {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .32rem;
}
html:root body .vmesta-sticker-library-card small {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
}
html:root body .vmesta-sticker-origin-badge {
    display: inline-grid;
    width: 1.05rem;
    height: 1.05rem;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, #229ed9 14%, transparent);
    color: #229ed9 !important;
    vertical-align: middle;
}
html:root body .vmesta-sticker-origin-badge svg {
    width: .72rem !important;
    height: .72rem !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round;
    stroke-linejoin: round;
}
html:root body .vmesta-sticker-origin-label {
    color: var(--theme-text-muted) !important;
}

/* Статичный фирменный набор: четыре прозрачных листа по десять кадров. */
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media,.vmesta-sticker-pack-cover,.messenger-sticker-pack-cover,.emoji-sticker-packs span).is-static-sprite {
    display: block;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-size: 500% 200% !important;
    animation: none !important;
    transform: none !important;
    clip-path: inset(2% 5%);
}
html:root body .vmesta-sticker-pack-cover.is-static-sprite,
html:root body .messenger-sticker-pack-cover.is-static-sprite {
    background-image: url('/assets/stickers/cosmic-static-01-v2.png') !important;
    background-position: 0 0 !important;
}
html:root body .emoji-sticker-packs .is-static-sprite { width: 1.8rem; height: 1.8rem; }
html:root body .vmesta-sticker-origin-badge.is-vmesta {
    width: 1.16rem;
    height: 1.16rem;
    overflow: hidden;
    border-radius: .32rem;
    background: transparent !important;
}
html:root body .vmesta-sticker-origin-badge.is-vmesta img { display: block; width: 100%; height: 100%; object-fit: contain; }
html:root body .vmesta-coin-icon .vmesta-coin-inner { stroke-width: .9; opacity: .65; }
html:root body .vmesta-coin-icon .vmesta-coin-v { stroke-width: 2.2; }
html:root body .vmesta-coin-icon .vmesta-coin-node { fill: currentColor; stroke: none; }
html:root body .achievements-dialog-body.is-empty-scope { display: flex; flex-direction: column; }
html:root body .achievements-dialog-body.is-empty-scope > .achievement-scope-empty { flex: 1 0 auto; width: 100%; min-height: 16rem; }

/* ------------[V2.0.63: спокойное движение и безопасная нарезка]------------ */
html:root body .vmesta-sticker-grid article:hover .motion-1,
html:root body .emoji-sticker-grid > button:hover .motion-1 { animation-duration: 2.4s !important; animation-timing-function: ease-in-out !important; }
html:root body .vmesta-sticker-grid article:hover .motion-2,
html:root body .emoji-sticker-grid > button:hover .motion-2 { animation-duration: 2.1s !important; animation-timing-function: ease-in-out !important; }
html:root body .vmesta-sticker-grid article:hover .motion-3,
html:root body .emoji-sticker-grid > button:hover .motion-3 { animation-duration: 1.8s !important; animation-timing-function: ease-in-out !important; }
html:root body .vmesta-sticker-grid article:hover .motion-4,
html:root body .emoji-sticker-grid > button:hover .motion-4 { animation-duration: 2.3s !important; animation-timing-function: ease-in-out !important; }
html:root body .vmesta-sticker-grid article:hover .motion-5,
html:root body .emoji-sticker-grid > button:hover .motion-5 { animation-duration: 2.7s !important; animation-timing-function: ease-in-out !important; }

/* ------------[V2.0.67: информативные превью ссылок в сообщениях]------------ */
html:root body .messenger-inline-link {
    color: var(--msg-accent, var(--theme-accent)) !important;
    font-weight: 750;
    overflow-wrap: anywhere;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, currentColor 48%, transparent);
    text-underline-offset: .12rem;
}
html:root body .messenger-inline-link:hover {
    text-decoration-color: currentColor;
}
html:root body .messenger-link-preview {
    position: relative;
    display: grid;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: .4rem;
    margin: .3rem 0 .1rem;
    padding: .42rem .42rem .42rem .76rem;
    border: 0 !important;
    border-radius: .58rem;
    background: color-mix(in srgb, var(--msg-accent, var(--theme-accent)) 9%, transparent) !important;
    color: var(--msg-text, var(--theme-text-primary)) !important;
    overflow: hidden;
    text-align: left;
    text-decoration: none !important;
}
html:root body .messenger-link-preview::before {
    position: absolute;
    top: .34rem;
    bottom: .34rem;
    left: .12rem;
    width: .13rem;
    border-radius: 999px;
    background: var(--msg-accent, var(--theme-accent));
    content: "";
}
html:root body .messenger-link-preview::after {
    position: absolute;
    top: .34rem;
    left: .02rem;
    width: .34rem;
    height: .34rem;
    border: .11rem solid var(--msg-panel, var(--theme-surface-panel));
    border-radius: 50%;
    background: var(--msg-accent, var(--theme-accent));
    content: "";
}
html:root body .messenger-link-preview-copy {
    display: grid;
    min-width: 0;
    gap: .1rem;
    padding-right: .08rem;
    text-align: left;
}
html:root body .messenger-link-preview-copy small {
    color: var(--msg-accent, var(--theme-accent)) !important;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .015em;
    line-height: 1.2;
}
html:root body .messenger-link-preview-copy strong {
    display: -webkit-box;
    color: inherit !important;
    font-size: .77rem;
    font-weight: 850;
    letter-spacing: -.01em;
    line-height: 1.24;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
html:root body .messenger-link-preview-copy em {
    display: -webkit-box;
    color: var(--msg-muted, var(--theme-text-secondary)) !important;
    font-size: .65rem;
    font-style: normal;
    line-height: 1.34;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
html:root body .messenger-link-preview-media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: .48rem;
    overflow: hidden;
}
html:root body .messenger-link-preview-media > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
html:root body .messenger-link-preview-media > i {
    position: absolute;
    top: 50%;
    left: 50%;
    display: grid;
    width: 2.7rem;
    height: 2.7rem;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, #0d1724 72%, transparent);
    color: #fff;
    transform: translate(-50%, -50%);
}
html:root body .messenger-link-preview-media > i svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
    stroke: currentColor;
}
html:root body .messenger-link-preview.is-loading {
    min-height: 3rem;
}
html:root body .messenger-link-preview.is-loading .messenger-link-preview-copy strong {
    opacity: .62;
}
html:root body .messenger-link-preview:is(:hover,:focus-visible) {
    background: color-mix(in srgb, var(--msg-accent, var(--theme-accent)) 14%, transparent) !important;
    outline: none;
}
@media (max-width: 620px) {
    html:root body .messenger-link-preview { width: 100%; }
    html:root body .messenger-link-preview-media { max-height: 10rem; }
}

/* Панель выбора: заметный активный режим/набор и запасная SVG-обложка. */
html:root body .emoji-picker-expanded :is(.emoji-picker-mode-button,.emoji-picker-tab,.emoji-sticker-packs button).is-active {
    background: color-mix(in srgb,var(--theme-accent) 24%,var(--theme-surface-control)) !important;
    color: var(--theme-accent) !important;
    box-shadow: inset 0 0 0 2px var(--theme-accent) !important;
}
html:root body .emoji-picker-expanded :is(.emoji-picker-mode-button,.emoji-picker-tab,.emoji-sticker-packs button):focus-visible {
    box-shadow: inset 0 0 0 2px var(--theme-accent) !important;
}
html:root body .emoji-sticker-packs .emoji-sticker-pack-icon { display:grid;width:1.8rem;height:1.8rem;place-items:center;overflow:hidden; }
html:root body .emoji-sticker-pack-icon img { display:block;width:100%;height:100%;object-fit:contain; }
html:root body .emoji-sticker-pack-icon img[hidden] { display:none; }
html:root body .emoji-sticker-pack-icon svg { display:none;width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
html:root body .emoji-sticker-pack-icon.is-fallback svg { display:block; }
html:root body .emoji-picker-sticker-view { grid-template-rows:auto auto auto minmax(0,1fr); }
html:root body .emoji-sticker-search-wrap { display:flex;align-items:center;gap:.4rem;min-height:2.2rem;margin:.3rem .48rem .18rem;padding:0 .65rem;border-radius:.62rem;background:var(--theme-surface-control);color:var(--theme-accent); }
html:root body .emoji-sticker-search-wrap svg { flex:none;width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.8; }
html:root body .emoji-sticker-search { min-width:0;width:100%;height:2.2rem;border:0;outline:0;background:transparent;color:var(--theme-text-primary);font:inherit;font-size:.62rem; }
html:root body .emoji-sticker-search::placeholder { color:var(--theme-text-muted);opacity:.9; }
html:root body .emoji-sticker-search-wrap:focus-within { box-shadow:inset 0 0 0 2px var(--theme-accent); }
html:root body .emoji-sticker-grid.is-empty { grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);align-content:stretch;place-items:stretch; }
html:root body .emoji-sticker-grid.is-empty > .emoji-sticker-recent-empty { box-sizing:border-box;width:100%;max-width:none;min-height:100%;align-content:center;justify-items:center;padding:.7rem; }
html:root body .emoji-sticker-recent-empty.is-search-empty svg { width:4.4rem;height:4.4rem;overflow:visible;fill:none;stroke:var(--theme-accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;animation:vmesta-sticker-search-float 3s ease-in-out infinite; }
html:root body .emoji-sticker-recent-empty.is-search-empty .empty-sticker-sheet { fill:var(--theme-surface-control); }
html:root body .emoji-sticker-recent-empty.is-search-empty .empty-sticker-lens { fill:var(--theme-surface-panel); }
html:root body .emoji-sticker-recent-empty.is-search-empty .empty-sticker-spark { fill:color-mix(in srgb,var(--theme-accent) 24%,var(--theme-surface-panel)); }
@keyframes vmesta-sticker-search-float { 50% { transform:translateY(-.24rem) rotate(-3deg); } }
@media (prefers-reduced-motion:reduce) { html:root body .emoji-sticker-recent-empty.is-search-empty svg { animation:none; } }
/* Подсказка отправки стикера по введённому смайлику живёт над полем чата. */
html:root body .messenger-sticker-suggestions[hidden] { display:none !important; }
html:root body .messenger-sticker-suggestions:not([hidden]) { --sticker-suggest-surface:color-mix(in srgb,var(--msg-panel,var(--theme-surface-panel)) 68%,var(--msg-accent,var(--theme-accent)) 32%);position:absolute;z-index:91;left:3.15rem;bottom:calc(100% + .55rem);display:flex;align-items:center;gap:.32rem;width:max-content;max-width:calc(100% - 3.8rem);padding:.42rem;border:0 !important;border-radius:1rem;background:var(--sticker-suggest-surface) !important;box-shadow:none !important;filter:none !important;animation:vmesta-sticker-suggest-in .18s ease-out; }
html:root body .messenger-sticker-suggestions::after { content:"";position:absolute;bottom:-.48rem;left:1.3rem;width:.9rem;height:.55rem;clip-path:polygon(0 0,100% 0,50% 100%);border:0;background:var(--sticker-suggest-surface); }
html:root body .messenger-sticker-suggestions > button { position:relative;z-index:1;display:grid;flex:0 0 4.1rem;width:4.1rem;height:4.1rem;place-items:center;border:0 !important;border-radius:.75rem;padding:.16rem;background:color-mix(in srgb,var(--msg-panel,var(--theme-surface-panel)) 86%,var(--msg-accent,var(--theme-accent)) 14%) !important;cursor:pointer;transition:background .15s ease,transform .15s ease; }
html:root body .messenger-sticker-suggestions > button:is(:hover,:focus-visible) { outline:0;background:color-mix(in srgb,var(--msg-panel,var(--theme-surface-panel)) 72%,var(--msg-accent,var(--theme-accent)) 28%) !important;transform:translateY(-.12rem); }
html:root body .messenger-sticker-suggestions > button:disabled { opacity:.55;cursor:wait; }
html:root body .messenger-sticker-suggestions .emoji-sticker-media { width:100%;height:100%;aspect-ratio:1;object-fit:contain; }
@keyframes vmesta-sticker-suggest-in { from { opacity:0;transform:translateY(.3rem) scale(.97); } to { opacity:1;transform:translateY(0) scale(1); } }
@media (max-width:560px) { html:root body .messenger-sticker-suggestions:not([hidden]) { left:.7rem;max-width:calc(100% - 1.4rem); } html:root body .messenger-sticker-suggestions > button { flex-basis:3.55rem;width:3.55rem;height:3.55rem; } }
@media (prefers-reduced-motion:reduce) { html:root body .messenger-sticker-suggestions:not([hidden]) { animation:none; } html:root body .messenger-sticker-suggestions > button { transition:none; } }

/* Фирменные реакции: один прозрачный лист на четыре независимых стикера. */
html:root body :is(.vmesta-sticker-media,.emoji-sticker-media,.messenger-sticker-media).is-four-sprite {
    display:block;
    background-color:transparent !important;
    background-repeat:no-repeat !important;
    background-size:200% 200% !important;
    animation:none !important;
}
html:root body .vmesta-sticker-pack-subtitle {
    display:block;
    margin:.12rem 0;
    color:var(--theme-text-muted) !important;
    font-size:.45rem;
    font-weight:900;
    letter-spacing:.12em;
    line-height:1.25;
}
html:root body .vmesta-sticker-origin-badge.is-vmesta { display:grid; place-items:center; }
html:root body .vmesta-sticker-origin-badge.is-vmesta img { width:.78rem; height:.78rem; }

/* Окно просмотра остаётся поверх личной библиотеки; действия не перекрывают полосу прокрутки. */
html:root body .vmesta-sticker-preview-modal { z-index:2147483613; }
html:root body .vmesta-sticker-preview-close {
    top:.78rem;
    right:1.1rem;
    width:2rem;
    height:2rem;
}
html:root body .vmesta-sticker-preview-content > header {
    padding-right:3.4rem;
}
html:root body .vmesta-sticker-preview-actions {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.35rem;
    min-width:0;
}
html:root body :is(.vmesta-sticker-preview-share,.vmesta-sticker-preview-add) {
    display:inline-grid;
    width:2rem;
    height:2rem;
    min-height:2rem;
    flex:0 0 2rem;
    place-items:center;
    border-radius:.62rem;
    padding:0;
    font-size:.9rem;
    line-height:1;
}
html:root body :is(.vmesta-sticker-preview-share,.vmesta-sticker-preview-add) svg {
    width:.93rem;
    height:.93rem;
}
@media (max-width:620px) {
    html:root body .vmesta-sticker-preview-content > header {
        grid-template-columns:3.6rem minmax(0,1fr) auto;
    }
    html:root body .vmesta-sticker-preview-actions { grid-column:auto; }
}

/* Трофеи: закрытая витрина, настройки условия и полученные находки. */
html:root body .vmesta-trophy-lock { display:grid;justify-items:center;gap:.3rem;margin:.6rem 0;padding:1.6rem .8rem;border:1px dashed var(--theme-border-subtle);border-radius:.85rem;background:var(--theme-surface-control);text-align:center;color:var(--theme-text-primary); }
html:root body .vmesta-sticker-pack-card.is-trophy-locked .vmesta-sticker-pack-cover { filter:grayscale(.75);opacity:.72; }
html:root body .vmesta-trophy-lock > span { font-size:1.8rem; }
html:root body .vmesta-trophy-lock strong { font-size:.72rem; }
html:root body .vmesta-trophy-lock small { color:var(--theme-text-muted);font-size:.55rem; }
html:root body .level-trophy-grid { display:grid;gap:.55rem; }
html:root body .level-trophy-rule { display:grid;gap:.45rem;padding:.65rem .75rem;border-radius:.85rem;background:var(--theme-surface-nested); }
html:root body .level-trophy-rule-head { display:flex;align-items:center;gap:.65rem; }
html:root body .level-trophy-rule-head > :is(img,span) { width:3rem;height:3rem;flex:none;object-fit:contain;border-radius:.65rem;background:var(--theme-surface-control); }
html:root body .level-trophy-rule-head > span { display:grid;place-items:center;font-size:1.2rem; }
html:root body .level-trophy-rule-head div { display:grid;gap:.12rem; }
html:root body .level-trophy-rule-head strong { font-size:.68rem; }
html:root body .level-trophy-rule-head small { color:var(--theme-text-muted);font-size:.52rem; }
html:root body .level-trophy-rule-fields { display:grid;grid-template-columns:minmax(5.8rem,.72fr) minmax(7rem,1fr) minmax(7rem,1fr);gap:.5rem;align-items:end; }
html:root body .level-trophy-rule-fields label,html:root body .level-trophy-grant > label { display:grid;gap:.22rem;min-width:0;font-size:.55rem;font-weight:800; }
/* Поля трофея не наследуют двухколоночную карточку общих настроек. */
html:root body .level-settings-group .level-trophy-rule-fields > label { display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.22rem;min-width:0;border:0 !important;border-radius:0;padding:0;background:transparent !important; }
html:root body .level-settings-group .level-trophy-rule-fields > label > span:first-child { display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
html:root body .level-trophy-rule-fields :is(input,select),html:root body .level-trophy-grant select { width:100%;min-height:2.3rem;border:1px solid var(--theme-border-subtle);border-radius:.65rem;padding:0 .6rem;background:var(--theme-surface-control);color:var(--theme-text-primary); }
html:root body .level-settings-group .level-trophy-rule-fields > label.level-trophy-admin-access { position:relative;display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2.8rem;border:1px solid var(--theme-border-subtle) !important;border-radius:.68rem;padding:.4rem .55rem;background:var(--theme-surface-control) !important;color:var(--theme-text-primary);cursor:pointer; }
html:root body .level-settings-group .level-trophy-rule-fields > label.level-trophy-admin-access > span:first-child { display:grid;gap:.1rem;overflow:visible;white-space:normal; }
html:root body .level-trophy-admin-access > span { display:grid;gap:.1rem;min-width:0; }
html:root body .level-trophy-admin-access strong { font-size:.53rem;line-height:1.3; }
html:root body .level-trophy-admin-access small { color:var(--theme-text-muted);font-size:.45rem;font-weight:650;line-height:1.3; }
html:root body .level-trophy-rule-fields .level-trophy-admin-access input { position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0; }
html:root body .level-trophy-admin-access i { position:relative;flex:0 0 2.1rem;width:2.1rem;height:1.2rem;border-radius:999px;background:color-mix(in srgb,var(--theme-text-muted) 36%,var(--theme-surface-panel));transition:background .18s ease; }
html:root body .level-trophy-admin-access i::after { content:"";position:absolute;top:.15rem;left:.15rem;width:.9rem;height:.9rem;border-radius:50%;background:var(--theme-surface-panel);box-shadow:0 1px 3px #0002;transition:transform .18s ease; }
html:root body .level-trophy-admin-access input:checked + i { background:var(--theme-accent); }
html:root body .level-trophy-admin-access input:checked + i::after { transform:translateX(.9rem); }
html:root body .level-trophy-admin-access input:focus-visible + i { outline:2px solid var(--theme-accent);outline-offset:2px; }
html:root body .level-trophy-rule:not([data-trigger-type="level"]):not([data-trigger-type="signals"]) [data-trophy-for="threshold"],
html:root body .level-trophy-rule:not([data-trigger-type="achievement"]) [data-trophy-for="achievement"],
html:root body .level-trophy-rule:not([data-trigger-type="manual"]) [data-trophy-for="manual"],
html:root body [data-level-settings-tab="trophy"][hidden],
html:root body #level-settings-form > footer[hidden] { display:none !important; }
html:root body .level-trophy-rule > button,html:root body .level-trophy-grant > button { width:max-content;min-height:2.25rem;border:0;border-radius:.65rem;padding:0 .8rem;background:var(--theme-accent);color:var(--theme-accent-contrast,#fff);font-size:.55rem;font-weight:900; }
html:root body .level-trophy-status,html:root body .level-trophy-grant-status { margin:0;color:var(--theme-text-secondary);font-size:.52rem; }
html:root body .level-trophy-status:empty,html:root body .level-trophy-grant-status:empty { display:none; }
html:root body .level-trophy-grant { display:grid;gap:.6rem; }
html:root body .level-settings-group .level-trophy-grant > label { grid-template-columns:minmax(5.5rem,7rem) minmax(0,1fr);gap:.65rem;padding:.55rem .7rem; }
html:root body .level-trophy-grant > .level-market-user-picker > input { box-sizing:border-box;width:100%;min-width:0;min-height:2.3rem;border:1px solid var(--theme-border-subtle) !important;border-radius:.65rem;outline:0;padding:0 .7rem;background:var(--theme-surface-control) !important;color:var(--theme-text-primary) !important;font-size:.65rem;font-weight:750; }
html:root body .level-trophy-grant > .level-market-user-picker > input::placeholder { color:var(--theme-text-muted);opacity:1; }
html:root body .level-trophy-grant > .level-market-user-picker > input:focus { border-color:var(--theme-accent) !important;box-shadow:0 0 0 .16rem color-mix(in srgb,var(--theme-accent) 13%,transparent); }
html:root body .level-trophy-grant > .level-market-user-picker > .level-market-user-selected { grid-column:2; }
@media (max-width:640px) { html:root body .level-settings-group .level-trophy-grant > label { grid-template-columns:minmax(0,1fr); } html:root body .level-trophy-grant > .level-market-user-picker > .level-market-user-selected { grid-column:1; } }
html:root body .vmesta-sticker-gift-panel.is-trophy .vmesta-space-market-compose { grid-template-columns:minmax(10rem,.8fr) minmax(11rem,1fr) auto; }
@media (max-width:800px) { html:root body .vmesta-sticker-gift-panel.is-trophy .vmesta-space-market-compose { grid-template-columns:1fr; } }
html:root body .signal-trophy-card { display:grid;grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:5.5rem;border-radius:1rem;padding:.75rem;background:var(--theme-surface-panel);color:var(--theme-text-primary); }
html:root body .signal-trophy-art { display:grid;width:3.5rem;height:3.5rem;place-items:center;border-radius:.8rem;background:var(--theme-surface-control);color:var(--theme-accent); }
html:root body .signal-trophy-art img { width:100%;height:100%;object-fit:contain; }
html:root body .signal-trophy-art svg { width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-width:1.7; }
html:root body .signal-trophy-card > div { display:grid;gap:.16rem;min-width:0; }
html:root body .signal-trophy-card :is(small,p) { margin:0;color:var(--theme-text-muted);font-size:.52rem; }
html:root body .signal-trophy-card strong { font-size:.7rem; }
html:root body .signal-trophy-card > button { min-height:2.1rem;border:0;border-radius:.6rem;padding:0 .7rem;background:var(--theme-accent);color:var(--theme-accent-contrast,#fff);font-size:.55rem;font-weight:900; }
html:root body .signal-trophy-claimed { color:var(--theme-accent);font-size:.55rem;font-weight:900; }

/* Равная высота окна отправки во время загрузки, пустого состояния и списка. */
html:root body .vmesta-sticker-share-modal > section { height:min(30rem,88vh);min-height:min(26rem,88vh); }
html:root body .vmesta-sticker-share-brand { display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.7rem;background:var(--theme-surface-control);color:var(--theme-accent); }
html:root body .vmesta-sticker-share-brand svg { width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
html:root body .vmesta-sticker-share-targets { min-height:0; }
html:root body .vmesta-sticker-share-empty { display:grid;align-content:center;justify-items:center;gap:.5rem;min-height:100%;padding:1.4rem;text-align:center;color:var(--theme-text-primary); }
html:root body .vmesta-sticker-share-empty > span { display:grid;width:4rem;height:4rem;place-items:center;border-radius:1rem;background:var(--theme-surface-control);color:var(--theme-accent); }
html:root body .vmesta-sticker-share-empty svg { width:2.4rem;height:2.4rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
html:root body .vmesta-sticker-share-empty strong { font-size:.75rem; }
html:root body .vmesta-sticker-share-empty small { color:var(--theme-text-muted);font-size:.55rem; }
/* Эмоциональные метки фирменных стикеров — будущие ключи рекомендаций. */
html:root body .vmesta-sticker-preview-grid article.has-emoji { aspect-ratio:auto;grid-template-rows:auto auto;align-content:start;justify-items:center;gap:.2rem; }
html:root body .vmesta-sticker-preview-grid article.has-emoji > .vmesta-sticker-media { width:100%;aspect-ratio:1; }
html:root body .vmesta-sticker-grid article > .vmesta-sticker-emoji,
html:root body .vmesta-sticker-preview-grid article > .vmesta-sticker-emoji { display:block;min-height:1rem;max-width:100%;overflow:hidden;color:var(--theme-text-secondary) !important;font-size:.78rem;font-weight:400;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap; }
/* Белка и Стрелка: прогресс виден в магазине, а закрытые кадры остаются в витрине под замком. */
html:root body .vmesta-sticker-stage-info { display:grid;gap:.3rem;margin:.55rem 0;padding:.7rem .8rem;border-radius:.8rem;background:var(--theme-surface-control);color:var(--theme-text-primary); }
html:root body .vmesta-sticker-stage-info strong { font-size:.64rem; }
html:root body .vmesta-sticker-stage-info span { color:var(--theme-text-muted);font-size:.53rem;line-height:1.5; }
html:root body :is(.vmesta-sticker-grid,.vmesta-sticker-preview-grid) article.is-sticker-locked { position:relative; }
html:root body :is(.vmesta-sticker-grid,.vmesta-sticker-preview-grid) article.is-sticker-locked > .vmesta-sticker-media { filter:grayscale(.9) blur(1.5px);opacity:.35; }
html:root body .vmesta-sticker-stage-lock { position:absolute;left:50%;top:43%;display:grid;width:1.7rem;height:1.7rem;place-items:center;transform:translate(-50%,-50%);border-radius:.52rem;background:var(--theme-surface-panel);box-shadow:0 2px 10px #0002;font-size:.85rem; }
html:root body .level-trophy-fixed-note { margin:0;color:var(--theme-text-secondary);font-size:.55rem;line-height:1.5; }
html:root body .level-trophy-stage-list { display:flex;flex-wrap:wrap;gap:.35rem; }
html:root body .level-trophy-stage-list span { padding:.35rem .5rem;border-radius:.5rem;background:var(--theme-surface-control);color:var(--theme-text-primary);font-size:.52rem;font-weight:850; }
/* Вкладки журнала остаются в одну строку и прокручиваются при нехватке ширины. */
html:root body .signals-scope-tabs { display:flex;flex-wrap:nowrap;max-width:100%;gap:.4rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--theme-accent) transparent;overscroll-behavior-inline:contain; }
html:root body .signals-scope-tabs > button { flex:0 0 auto;white-space:nowrap;padding-inline:.65rem; }
html:root body .signals-scope-tabs > button > span { white-space:nowrap; }
/* Основная кнопка импульса не должна получать белый фон от общей карточки. */
html:root body .signals-journal .signal-action.primary:not(.archive-restore):not(.share-discovery) { border-color:var(--theme-accent) !important;background:var(--theme-accent) !important;color:var(--theme-accent-contrast,#fff) !important;-webkit-text-fill-color:var(--theme-accent-contrast,#fff) !important; }
html:root body .signals-journal .signal-action.secondary { border-color:color-mix(in srgb,var(--theme-accent) 30%,var(--theme-divider)) !important;background:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface-control)) !important;color:var(--theme-text-primary) !important;-webkit-text-fill-color:var(--theme-text-primary) !important; }
html:root body .signals-journal .signal-action.secondary > span { color:var(--theme-text-primary) !important;-webkit-text-fill-color:var(--theme-text-primary) !important;opacity:1 !important;visibility:visible !important; }
html:root body .signals-journal .signal-action.share-discovery { border-color:var(--theme-accent) !important;background:var(--theme-accent) !important;color:var(--theme-accent-contrast,#fff) !important;-webkit-text-fill-color:var(--theme-accent-contrast,#fff) !important; }
html:root body .signals-journal .signal-action.share-discovery > span { color:inherit !important;-webkit-text-fill-color:var(--theme-accent-contrast,#fff) !important;opacity:1 !important; }
html:root body .signals-journal .signal-action.archive:not(.archive-restore) { border-color:color-mix(in srgb,var(--theme-accent) 35%,var(--theme-border-subtle)) !important;background:color-mix(in srgb,var(--theme-accent) 12%,var(--theme-surface-control)) !important;color:var(--theme-accent) !important;-webkit-text-fill-color:var(--theme-accent) !important; }
html:root body .signals-journal .signal-action.archive:not(.archive-restore):hover { border-color:var(--theme-accent) !important;background:var(--theme-accent) !important;color:var(--theme-accent-contrast,#fff) !important;-webkit-text-fill-color:var(--theme-accent-contrast,#fff) !important; }
html:root body .signals-journal .signal-action.archive-restore { border-color:var(--theme-accent) !important;background:var(--theme-accent) !important;color:var(--theme-accent-contrast,#fff) !important;-webkit-text-fill-color:var(--theme-accent-contrast,#fff) !important; }
@media (max-width:620px) {
    html:root body .level-trophy-rule-fields { grid-template-columns:1fr; }
    html:root body .level-sticker-price-row { grid-template-columns:1fr; }
    html:root body .level-sticker-price-controls { grid-template-columns:minmax(5.5rem,.72fr) minmax(8rem,1.28fr); }
    html:root body .signal-trophy-card { grid-template-columns:3rem minmax(0,1fr); }
    html:root body .signal-trophy-card > :is(button,.signal-trophy-claimed) { grid-column:2;justify-self:start; }
}

/* Создание общего чата: поля и выбор людей различимы в светлой и тёмной темах. */
html:root body #messenger-new-modal > section { background:var(--theme-surface-panel) !important;color:var(--theme-text-primary) !important; }
html:root body #messenger-new-modal > section > header { border:0 !important;background:var(--theme-surface-nested) !important; }
html:root body #messenger-new-modal .messenger-room-create-form { gap:.65rem;background:var(--theme-surface-panel) !important; }
html:root body #messenger-new-modal .messenger-room-create-form > :is(label,fieldset) { border:0 !important;border-radius:.85rem;padding:.7rem;background:var(--theme-surface-nested) !important; }
html:root body #messenger-new-modal .messenger-room-create-form > label > span,
html:root body #messenger-new-modal .messenger-room-members-trigger b { color:var(--theme-text-primary) !important; }
html:root body #messenger-new-modal .messenger-room-create-form > label :is(input,textarea,select),
html:root body #messenger-new-modal .messenger-room-members-trigger,
html:root body #messenger-new-modal .messenger-room-candidate-search { border:0 !important;background:var(--theme-surface-control) !important;color:var(--theme-text-primary) !important;box-shadow:none !important; }
html:root body #messenger-new-modal .messenger-room-create-form > label :is(input,textarea,select)::placeholder,
html:root body #messenger-new-modal .messenger-room-candidate-search input::placeholder { color:var(--theme-text-muted) !important;opacity:1; }
html:root body #messenger-new-modal .messenger-room-members-fieldset .messenger-room-members { border:0 !important;background:var(--theme-surface-nested) !important; }
html:root body #messenger-new-modal .messenger-room-candidate-list > label { color:var(--theme-text-primary); }
html:root body #messenger-new-modal .messenger-room-candidate-list > label:has(input:checked) { background:var(--theme-surface-active) !important; }
html:root body #messenger-new-modal .messenger-room-candidate-list > label > i { display:grid;place-items:center;flex:none;width:1.05rem;height:1.05rem;border:1px solid var(--theme-divider) !important;border-radius:.32rem;background:var(--theme-surface-panel);font-size:.75rem;font-style:normal;font-weight:900;line-height:1; }
html:root body #messenger-new-modal .messenger-room-candidate-list > label:has(input:checked) > i { border:0 !important;background:var(--theme-accent) !important;box-shadow:none !important; }
html:root body #messenger-new-modal .messenger-room-candidate-list > label:has(input:checked) > i::after { content:"✓";color:var(--theme-accent-contrast,#fff); }
html:root body #messenger-new-modal .messenger-room-candidate-list > label:focus-within { outline:2px solid var(--theme-accent);outline-offset:2px; }
html:root body #messenger-new-modal .messenger-room-create-form > footer { background:var(--theme-surface-panel) !important; }

/* Компактная карточка прокручивается целиком: профиль уходит вверх, вкладки остаются видны. */
html:root body .messenger-room-panel-layer { inset:4.55rem 0 0 !important;align-items:flex-start;padding:.7rem; }
html:root body .messenger-room-panel-layer .messenger-room-panel { display:flex;flex-direction:column;width:min(26rem,calc(100vw - 1rem));height:min(31rem,calc(100% - .2rem));max-height:calc(100% - .2rem);overflow-x:hidden !important;overflow-y:auto !important;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--theme-accent) transparent; }
html:root body .messenger-room-panel > :is(header,nav) { flex:0 0 auto; }
html:root body .messenger-room-panel > nav { position:sticky;top:0;z-index:3;margin-top:.4rem !important;overflow-x:auto;overflow-y:hidden; }
html:root body .messenger-room-panel > section { flex:1 0 auto;min-height:7rem;overflow:visible !important; }
html:root body .messenger-room-panel > section .messenger-shared-attachments { grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;min-height:0;overflow:visible; }

/* Вкладки остаются узкой лентой без полосы прокрутки; колесо листает их по горизонтали. */
html:root body .messenger-room-panel-layer .messenger-room-panel { padding-right:.16rem !important;scrollbar-color:color-mix(in srgb,var(--theme-accent) 72%,transparent) transparent; }
html:root body .messenger-room-panel-layer .messenger-room-panel::-webkit-scrollbar { width:.24rem;height:.24rem; }
html:root body .messenger-room-panel-layer .messenger-room-panel::-webkit-scrollbar-track { background:transparent; }
html:root body .messenger-room-panel-layer .messenger-room-panel::-webkit-scrollbar-thumb { border-radius:999px;background:color-mix(in srgb,var(--theme-accent) 72%,transparent); }
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .messenger-room-panel-layer .messenger-room-panel > nav { gap:.2rem;padding:.24rem .3rem !important;margin-top:.24rem !important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none !important;-ms-overflow-style:none;scroll-snap-type:x proximity; }
html:root body .messenger-room-panel-layer .messenger-room-panel > nav::-webkit-scrollbar { display:none !important;width:0;height:0; }
html:root body .messenger-room-panel-layer .messenger-room-panel > nav button { min-width:0;min-height:1.78rem;padding:.26rem .38rem;border-radius:.5rem;white-space:nowrap;font-size:.53rem; }
html:root body .messenger-room-panel-layer .messenger-room-panel > nav .messenger-icon { width:.7rem;height:.7rem; }

/* В карточке комнаты участники используют общий скролл; в настройках полоса появляется только при длинном списке. */
html:root body .messenger-room-panel-layer .messenger-room-panel-members { max-height:none !important;overflow:visible !important;scrollbar-gutter:auto !important; }
html:root body .messenger-room-settings-modal .messenger-room-member-list { overflow-y:auto !important;scrollbar-gutter:auto !important; }

/* Панель действий вынесена из области прокрутки настроек: ползунок заканчивается ровно над ней. */
html:root body .messenger-room-settings-modal .messenger-room-settings-form { display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;min-height:0;overflow:hidden !important;padding:0 !important; }
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll { display:grid;align-content:start;gap:.58rem;min-height:0;overflow-x:hidden;overflow-y:auto;padding:.72rem .82rem .75rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--theme-accent) 68%,transparent) transparent; }
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll::-webkit-scrollbar { width:.26rem; }
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll::-webkit-scrollbar-track { background:transparent; }
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll::-webkit-scrollbar-thumb { border-radius:999px;background:color-mix(in srgb,var(--theme-accent) 68%,transparent); }
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll > label { display:grid;gap:.32rem; }
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll > label > span { color:var(--msg-muted);font-size:.66rem;font-weight:850; }
html:root body .messenger-room-settings-modal .messenger-room-settings-form > footer { position:relative !important;bottom:auto !important;box-sizing:border-box;width:100% !important;margin:0 !important;padding:.55rem .82rem .68rem !important;border-top:1px solid color-mix(in srgb,var(--theme-accent) 13%,transparent) !important;border-radius:0 !important;box-shadow:none !important; }

/* Приветственное письмо пользуется теми же инструментами, что и описание. */
html:root body .messenger-room-welcome-settings > label:not(.messenger-room-welcome-picker) { display:grid;min-width:0;align-content:start;gap:.3rem; }
html:root body .messenger-room-welcome-settings > label:not(.messenger-room-welcome-picker) > span:first-child { color:var(--msg-text);font-size:.68rem;font-weight:900; }
html:root body .messenger-room-welcome-field textarea { resize:none !important; }

/* Участники открываются отдельной плоскостью поверх настроек, с одной прокруткой на весь список. */
html:root body .messenger-room-settings-modal > section { position:relative; }
html:root body .messenger-room-settings-modal .messenger-room-members-trigger { display:grid;grid-template-columns:1.7rem minmax(0,1fr) auto .9rem;align-items:center;gap:.55rem;width:100%;min-height:3.3rem;margin:.15rem 0 0;padding:.6rem .75rem;border:0;border-radius:.85rem;background:var(--room-tone-2,var(--theme-surface-nested));color:var(--theme-text-primary);text-align:left;cursor:pointer; }
html:root body .messenger-room-settings-modal .messenger-room-members-trigger:hover { background:var(--room-tone-3,var(--theme-surface-control)); }
html:root body .messenger-room-members-trigger > .messenger-icon { width:1rem;height:1rem;color:var(--theme-accent); }
html:root body .messenger-room-members-trigger > span { display:grid;gap:.1rem;min-width:0; }
html:root body .messenger-room-members-trigger b { font-size:.68rem; }
html:root body .messenger-room-members-trigger small { overflow:hidden;color:var(--theme-text-muted);font-size:.55rem;text-overflow:ellipsis;white-space:nowrap; }
html:root body .messenger-room-members-trigger em { display:grid;min-width:1.4rem;height:1.4rem;place-items:center;border-radius:999px;background:var(--room-tone-4,var(--theme-surface-control));color:var(--theme-accent);font-size:.57rem;font-style:normal;font-weight:900; }
html:root body .messenger-room-settings-modal .messenger-room-members-overlay { position:absolute;z-index:10;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:var(--room-tone-1,var(--theme-surface-panel)); }
html:root body .messenger-room-settings-modal .messenger-room-members-overlay[hidden] { display:none !important; }
html:root body .messenger-room-members-overlay > header { display:grid;grid-template-columns:2.2rem minmax(0,1fr) 2.2rem;align-items:center;gap:.65rem;padding:.75rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--theme-accent) 13%,transparent);background:var(--room-tone-2,var(--theme-surface-nested)); }
html:root body .messenger-room-members-overlay > header > span { display:grid;gap:.12rem;min-width:0; }
html:root body .messenger-room-members-overlay > header small { color:var(--theme-accent);font-size:.48rem;font-weight:900;letter-spacing:.12em; }
html:root body .messenger-room-members-overlay > header strong { color:var(--theme-text-primary);font-size:.86rem; }
html:root body .messenger-room-members-overlay > header em { margin-left:.2rem;color:var(--theme-accent);font-size:.65rem;font-style:normal; }
html:root body .messenger-room-members-overlay > header > button { display:grid;width:2.2rem;height:2.2rem;place-items:center;border:0;border-radius:.65rem;background:var(--room-tone-3,var(--theme-surface-control));color:var(--theme-accent);cursor:pointer; }
html:root body .messenger-room-members-overlay > header > button .messenger-icon { width:.82rem;height:.82rem; }
html:root body .messenger-room-members-overlay-body { min-height:0;overflow-x:hidden;overflow-y:auto;padding:.8rem 1rem 1rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--theme-accent) 68%,transparent) transparent; }
html:root body .messenger-room-members-overlay-body::-webkit-scrollbar { width:.26rem; }
html:root body .messenger-room-members-overlay-body::-webkit-scrollbar-track { background:transparent; }
html:root body .messenger-room-members-overlay-body::-webkit-scrollbar-thumb { border-radius:999px;background:color-mix(in srgb,var(--theme-accent) 68%,transparent); }
html:root body .messenger-room-members-overlay-body .messenger-room-members-manage { min-height:100%;align-content:start; }
html:root body .messenger-room-members-overlay-body .messenger-room-members-head { grid-template-columns:minmax(0,1fr) !important; }
html:root body .messenger-room-members-overlay-body .messenger-room-members-head h3 { display:none !important; }
html:root body .messenger-room-members-overlay-body .messenger-room-member-search.is-inline { width:100% !important;margin:0 !important; }
html:root body .messenger-room-members-overlay-body .messenger-room-member-list { max-height:none !important;overflow:visible !important;scrollbar-gutter:auto !important; }

/* Настройки комнаты: ровные секции и читаемая ссылка во всех темах. */
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll > .messenger-room-identity,
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll > label {
    min-width:0;
    padding:.72rem .8rem;
    border:0;
    border-radius:.82rem;
    background:var(--room-tone-2,var(--theme-surface-nested));
}
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll > .messenger-room-identity { gap:.55rem; }
html:root body .messenger-room-settings-modal .messenger-room-settings-scroll > label > .messenger-room-field-note { margin:0;line-height:1.4; }
html:root body .messenger-room-settings-modal .messenger-room-invite-settings {
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:.5rem;
    min-width:0;
    padding:.65rem .75rem;
    border:0 !important;
    border-radius:.82rem;
    background:var(--room-tone-2,var(--theme-surface-nested)) !important;
}
html:root body .messenger-room-settings-modal .messenger-room-invite-settings > div { gap:.18rem; }
html:root body .messenger-room-settings-modal .messenger-room-invite-settings strong { display:block;min-width:0;font-size:.59rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap; }
html:root body .messenger-room-settings-modal .messenger-room-invite-settings button { min-height:1.85rem;padding:.35rem .48rem;border:0;border-radius:.52rem;background:var(--room-tone-3,var(--theme-surface-control));font-size:.55rem; }
html:root body .messenger-room-settings-modal .messenger-room-settings-form .messenger-room-policy { border:0 !important;border-radius:.82rem;background:var(--room-tone-2,var(--theme-surface-nested)) !important; }
html:root body .messenger-room-settings-modal .messenger-room-settings-form .messenger-room-policy-toggle { min-height:3rem !important;padding:.65rem .75rem !important;background:transparent !important; }
html:root body .messenger-room-settings-modal .messenger-room-settings-form .messenger-room-policy-toggle:hover { background:var(--room-tone-3,var(--theme-surface-control)) !important; }
html:root body .messenger-room-settings-modal .messenger-room-policy-content > .messenger-room-permission-rule { margin:.52rem 0 !important;padding:.65rem .7rem !important;border:0 !important;box-shadow:none !important; }
html:root body .messenger-room-settings-modal .messenger-room-policy-content > .messenger-room-permission-rule + label { border-top:0 !important; }
@media (max-width:620px) {
    html:root body .messenger-room-settings-modal .messenger-room-invite-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
    html:root body .messenger-room-settings-modal .messenger-room-invite-settings > div { grid-column:1/-1; }
    html:root body .messenger-room-settings-modal .messenger-room-invite-settings button { justify-content:center; }
}

/* Опасные действия остаются красными при любой выбранной палитре. */
html:root body .messenger-room-settings-modal .messenger-room-settings-form > footer .messenger-room-delete,
html:root body .messenger-room-settings-modal .messenger-room-member-actions-menu button.is-danger,
html:root body .messenger-room-settings-modal .messenger-room-settings-header-actions > .messenger-room-settings-leave {
    background:color-mix(in srgb,#ef4444 10%,var(--theme-surface-panel)) !important;
    color:#dc2626 !important;
}
html:root.dark body .messenger-room-settings-modal .messenger-room-settings-form > footer .messenger-room-delete,
html:root.dark body .messenger-room-settings-modal .messenger-room-member-actions-menu button.is-danger { color:#fb7185 !important; }
html:root body .messenger-room-settings-modal .messenger-room-settings-form > footer .messenger-room-delete:is(:hover,:focus-visible),
html:root body .messenger-room-settings-modal .messenger-room-member-actions-menu button.is-danger:is(:hover,:focus-visible),
html:root body .messenger-room-delete-confirm .messenger-delete-actions button.is-danger:is(:hover,:focus-visible) { background:#dc2626 !important;color:#fff !important; }
html:root body .messenger-room-settings-modal .messenger-room-member-list article.is-blacklisted { background:color-mix(in srgb,#ef4444 8%,var(--theme-surface-nested)) !important; }
html:root body .messenger-room-settings-modal .messenger-room-member-list article.is-blacklisted small { color:#dc2626 !important; }

/* Полученная ступень трофейного набора видна при открытии стикеров. */
html:root body .vmesta-sticker-stage-achievement { display:flex;align-items:center;gap:.65rem;margin:.55rem 0;padding:.75rem .85rem;border-radius:.82rem;background:color-mix(in srgb,var(--theme-accent) 13%,var(--theme-surface-panel));color:var(--theme-text-primary); }
html:root body .vmesta-sticker-stage-achievement > span { display:grid;flex:none;width:2rem;height:2rem;place-items:center;border-radius:.58rem;background:var(--theme-surface-panel);color:var(--theme-accent);font-size:1.15rem; }
html:root body .vmesta-sticker-stage-achievement > div { display:grid;gap:.15rem;min-width:0; }
html:root body .vmesta-sticker-stage-achievement small { color:var(--theme-accent) !important;font-size:.48rem;font-weight:900;letter-spacing:.08em; }
html:root body .vmesta-sticker-stage-achievement strong { font-size:.69rem;line-height:1.3; }
html:root body .vmesta-sticker-stage-achievement p { margin:0;font-size:.53rem;line-height:1.35; }

/* Голосовые: волна занимает всю доступную ширину пузыря во всех типах чатов. */
html:root body .messenger-voice-note .messenger-voice-note-content { width:100%;min-width:0; }
html:root body .messenger-voice-note .messenger-voice-note-top { width:100%;min-width:0; }
html:root body .messenger-voice-note .messenger-voice-note-top .messenger-voice-wave { width:100% !important;max-width:none !important;min-width:0 !important;flex:1 1 0 !important; }
html:root body .messenger-voice-note .messenger-voice-wave > span { width:100%;justify-content:space-between;gap:.015rem; }
html:root body .messenger-voice-note .messenger-voice-wave i { width:.075rem;min-width:.045rem;max-width:.075rem;flex:0 1 .075rem; }
html:root body .messenger-message:has(.messenger-voice-note.is-uploading) .messenger-bubble,
html:root body .messenger-message:has(.messenger-video-note.is-uploading) .messenger-bubble { animation:none !important; }

/* Запись в группе использует ту же полную строку, что и личный диалог. */
html:root body .messenger-conversation .messenger-composer.is-recording:not(.has-recording-draft) { display:grid !important;grid-template-columns:minmax(0,1fr) !important;align-items:stretch !important; }
html:root body .messenger-conversation .messenger-composer.is-recording:not(.has-recording-draft) > .messenger-recording-panel.is-active { grid-column:1/-1 !important;width:100% !important;max-width:none !important;min-width:0 !important;box-sizing:border-box !important; }
html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status { min-width:0; }
html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status > span { display:none !important; }
html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-wave { width:100% !important;max-width:none !important;min-width:0 !important; }

/* Верхний плеер не закрывает дату и первые сообщения; скорость и закрытие разнесены. */
html:root body .messenger-conversation .messenger-inline-media-bar { grid-template-columns:1.8rem minmax(0,1fr) 2.2rem 1.8rem;gap:.58rem;padding:.38rem .58rem !important;border-radius:.85rem !important;box-shadow:0 .2rem .65rem color-mix(in srgb,#020617 9%,transparent) !important; }
html:root body .messenger-conversation .messenger-inline-media-bar > [data-role="speed"] { margin-right:.12rem; }
html:root body .messenger-conversation .messenger-inline-media-bar > .messenger-inline-media-close { margin-left:.12rem; }

/* Редактор голосового и видеокружка: кадр на паузе, видимый курсор и симметричные края. */
html:root body .messenger-recording-panel.is-draft > .messenger-recording-draft.is-video > video { position:absolute;z-index:45;bottom:calc(100% + .75rem);left:50%;display:block !important;width:clamp(8rem,22vw,13rem) !important;height:auto !important;aspect-ratio:1;object-fit:cover;border:.14rem solid var(--theme-accent,var(--msg-accent));border-radius:50%;background:var(--theme-surface-control,var(--msg-panel));box-shadow:0 .35rem 1rem color-mix(in srgb,#020617 13%,transparent);transform:translateX(-50%);pointer-events:none; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > .messenger-recording-playhead { position:absolute !important;z-index:7 !important;top:.1rem !important;bottom:.1rem !important;left:clamp(.28rem,var(--playhead,0%),calc(100% - .28rem)) !important;display:block !important;width:.14rem !important;min-width:.14rem !important;height:auto !important;padding:0 !important;border-radius:.12rem !important;background:#ef4444 !important;box-shadow:0 0 0 .05rem var(--theme-surface-panel,var(--msg-panel));transform:translateX(-50%);pointer-events:none; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > .messenger-recording-playhead::before { content:"";position:absolute;top:-.04rem;left:50%;width:.4rem;height:.4rem;border-radius:50%;background:#ef4444;transform:translateX(-50%); }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-start,
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-end { right:.28rem !important;left:.28rem !important;width:calc(100% - .56rem) !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > .messenger-recording-draft-play.messenger-recording-draft-play { z-index:8 !important;min-width:5.3rem !important;gap:.2rem !important;border-radius:.55rem !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play-symbol { display:inline-grid !important;flex:none !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play output { display:inline !important;min-width:0 !important;font-variant-numeric:tabular-nums; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-time-separator { color:var(--theme-text-inverse,#fff);opacity:.72;font-size:.55rem; }
@media (max-width:560px) { html:root body .messenger-recording-panel.is-draft > .messenger-recording-draft.is-video > video { width:9rem !important; } }

/* Меню участника: роли сверху, опасные действия вместе снизу; полный пункт
   виден даже у верхней и нижней границы прокручиваемого списка. */
html:root body .messenger-room-members-overlay-body.has-open-member-menu { padding-bottom:max(1rem,var(--room-member-menu-space,1rem)) !important; }
html:root body .messenger-room-members-overlay-body .messenger-room-member-actions-menu {
    top:calc(100% + .32rem);
    bottom:auto;
    width:max-content;
    max-width:min(13.25rem,calc(100vw - 2rem));
    padding:.4rem .34rem;
    gap:.12rem;
    border-radius:.7rem;
}
html:root body .messenger-room-members-overlay-body .messenger-room-member-actions.opens-up .messenger-room-member-actions-menu {
    top:auto;
    bottom:calc(100% + .32rem);
}
html:root body .messenger-room-members-overlay-body .messenger-room-member-actions-menu > button {
    min-height:1.95rem;
    padding:.47rem .55rem;
    white-space:nowrap;
}

/* Реальная форма записи, видимый Play/Pause и цельная правая граница обрезки. */
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > .messenger-recording-draft-play.messenger-recording-draft-play { min-width:6.1rem !important;gap:.24rem !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play-symbol { width:.78rem !important;min-width:.78rem !important;height:.78rem !important;place-items:center !important;color:#fff !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play-symbol::before { content:"";display:block;width:0;height:0;border-top:.27rem solid transparent;border-bottom:.27rem solid transparent;border-left:.44rem solid currentColor;transform:translateX(.05rem); }
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play.is-playing-icon .messenger-recording-draft-play-symbol::before { width:.47rem;height:.58rem;border:0;background:linear-gradient(90deg,currentColor 0 32%,transparent 32% 67%,currentColor 67% 100%);transform:none; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim { cursor:pointer; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > .messenger-recording-trim-wave.messenger-recording-trim-wave { pointer-events:none !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > i { background:color-mix(in srgb,var(--theme-accent,var(--msg-accent)) 20%,var(--theme-surface-panel,var(--msg-panel))) !important;box-shadow:inset .22rem 0 var(--theme-accent,var(--msg-accent)),inset -.22rem 0 var(--theme-accent,var(--msg-accent)) !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > i::after { content:"";position:absolute;top:0;right:0;bottom:0;width:.24rem;border-radius:.12rem;background:var(--theme-accent,var(--msg-accent)); }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-start::-webkit-slider-thumb,
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-end::-webkit-slider-thumb { background:var(--theme-accent,var(--msg-accent)) !important;box-shadow:0 0 0 .09rem color-mix(in srgb,var(--theme-accent,var(--msg-accent)) 15%,var(--theme-surface-panel,var(--msg-panel))) !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-start::-moz-range-thumb,
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-end::-moz-range-thumb { background:var(--theme-accent,var(--msg-accent)) !important;box-shadow:0 0 0 .09rem color-mix(in srgb,var(--theme-accent,var(--msg-accent)) 15%,var(--theme-surface-panel,var(--msg-panel))) !important; }
html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status > span { display:block !important;max-width:8rem;min-width:0; }
@media (max-width:700px) { html:root body .messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status > span { max-width:5.5rem;font-size:.48rem; } }

/* Одинаковая компактная дистанция от шапки до ленты и более узкие разделители дней. */
html:root body .messenger-conversation .messenger-message-stream { padding-top:.85rem !important; }
html:root body .messenger-conversation .messenger-day-divider { margin:.5rem 0 !important; }
/* Верхний плеер сдвигает только плавающую дату, не добавляя второй отступ ленте. */
html:root body .messenger-conversation.has-inline-media .messenger-message-stream { padding-top:.85rem !important; }
html:root body .messenger-conversation.has-inline-media .messenger-active-day { top:max(.25rem,var(--inline-media-clearance,.25rem)) !important; }

/* В группе аватар закрывает и собственную пачку сообщений при смене отправителя. */
html:root body .messenger-conversation.is-room-chat .messenger-message.is-outgoing:has(> .messenger-room-message-avatar) { padding-right:2.7rem !important; }
html:root body .messenger-conversation.is-room-chat .messenger-message.is-outgoing > .messenger-room-message-avatar { left:auto !important;right:.18rem;bottom:.22rem;z-index:2; }

/* Иконка редактора — настоящее SVG, видимое в светлой и тёмной палитрах. */
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play-symbol::before { content:none !important;display:none !important; }
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play-symbol .messenger-icon,
html:root body .messenger-recording-panel.is-draft .messenger-recording-draft-play-symbol svg { display:block !important;width:.78rem !important;height:.78rem !important;color:#fff !important;stroke:currentColor !important;fill:none !important;opacity:1 !important; }

/* Панель смайликов не даёт белого свечения в тёмной палитре. */
html:root:is(.adaptive-theme, :not(.adaptive-theme)):is(.theme-monet-active, :not(.theme-monet-active)) body .emoji-picker-expanded.emoji-picker-expanded { box-shadow:none !important; }

/* Поиск чата — единая поверхность без второго прямоугольника внутри. */
html:root body.messages-route #messages-root .messenger-chat-search .messenger-chat-search-field,
html:root body.messages-route #messages-root .messenger-chat-search .messenger-chat-search-field:focus-within,
html:root body.messages-route #messages-root .messenger-chat-search .messenger-chat-search-field > input { background:transparent !important;box-shadow:none !important; }

/* Месяц и год раскрываются внутри календаря, а не системным выпадающим окном. */
html:root body .messenger-day-calendar { overflow:visible; }
html:root body .messenger-day-calendar > header { position:relative;z-index:2; }
html:root body .messenger-day-calendar > header > div { min-width:0; }
html:root body .messenger-calendar-picker { position:relative;min-width:0; }
html:root body .messenger-calendar-picker > button { display:flex;width:100%;height:2.15rem;align-items:center;justify-content:space-between;gap:.35rem;padding:0 .55rem;border:1px solid var(--msg-line);border-radius:.68rem;background:var(--msg-bg);color:var(--msg-text);font-size:.72rem;font-weight:800;text-align:left;text-transform:capitalize;cursor:pointer; }
html:root body .messenger-calendar-picker > button .messenger-icon { width:.7rem;height:.7rem;flex:none;color:var(--msg-accent); }
html:root body .messenger-calendar-picker-menu { position:absolute;z-index:5;top:calc(100% + .2rem);left:0;right:0;max-height:10.5rem;overflow-y:auto;overscroll-behavior:contain;padding:.2rem;border:1px solid var(--msg-line);border-radius:.7rem;background:var(--msg-panel);box-shadow:0 .55rem 1.4rem rgb(2 6 23/.18);scrollbar-width:thin; }
html:root body .messenger-calendar-picker-menu[hidden] { display:none !important; }
html:root body .messenger-calendar-picker-menu > button { display:block;width:100%;min-height:1.75rem;padding:.35rem .5rem;border:0;border-radius:.45rem;background:transparent;color:var(--msg-text);font:inherit;font-size:.68rem;font-weight:750;text-align:left;text-transform:capitalize;cursor:pointer; }
html:root body .messenger-calendar-picker-menu > button:is(:hover,.is-selected) { background:var(--msg-accent-soft);color:var(--msg-accent); }

/* Живой статус: три точки проявляются поочерёдно, без сдвига строки. */
html:root body :is(#messenger-peer-activity,.messenger-chat-preview.is-activity) .messenger-live-activity { display:inline-flex;max-width:100%;align-items:center;gap:.22rem;vertical-align:middle; }
html:root body .messenger-live-activity .messenger-activity-glyph { display:inline-flex;flex:none;color:var(--msg-accent);animation:messenger-activity-pulse 1.45s ease-in-out infinite; }
html:root body .messenger-live-activity .messenger-activity-glyph .messenger-icon { width:.7rem;height:.7rem; }
html:root body .messenger-live-activity .messenger-activity-text { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
html:root body .messenger-live-activity .messenger-activity-dots { display:inline-block;width:1rem;flex:none;overflow:hidden;color:var(--msg-accent);font-size:.58rem;letter-spacing:.08rem;line-height:1;white-space:nowrap; }
html:root body .messenger-live-activity .messenger-activity-dots::before { content:'•••';display:block;width:100%;animation:messenger-activity-dots 1.35s steps(3,end) infinite; }
@keyframes messenger-activity-dots { 0%{clip-path:inset(0 100% 0 0)} 75%,100%{clip-path:inset(0 0 0 0)} }
@keyframes messenger-activity-pulse { 0%,100%{opacity:.56;transform:translateY(0)} 50%{opacity:1;transform:translateY(-.09rem)} }
@media (prefers-reduced-motion:reduce) { html:root body .messenger-live-activity .messenger-activity-glyph,html:root body .messenger-live-activity .messenger-activity-dots::before { animation:none !important;clip-path:none !important; } }

html:root body .messenger-chat-preview .messenger-preview-icon { display:inline-flex;width:.85rem;height:.85rem;align-items:center;justify-content:center;margin-right:.2rem;color:var(--msg-accent);vertical-align:-.12rem; }
html:root body .messenger-chat-preview .messenger-preview-icon .messenger-icon { width:.8rem;height:.8rem; }

/* Ненайденные публичные адреса остаются самостоятельным экраном, без старой шапки профиля. */
html:root body.vmesta-not-found-route #cover-section,
html:root body.vmesta-not-found-route #profile-left-rail,
html:root body.vmesta-not-found-route #profile-right-rail,
html:root body.vmesta-not-found-route #profile-tabs-container { display:none !important; }
html:root body.vmesta-not-found-route #content-main { grid-column:1 / -1;width:min(100%,54rem);margin-inline:auto; }
html:root body .space-not-found-visual { width:clamp(10rem,20vw,13rem);height:clamp(10rem,20vw,13rem); }
html:root body .space-not-found-visual svg { width:72%;height:72%; }
html:root body .space-not-found-actions { display:flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:wrap; }
html:root body .space-not-found-actions .space-not-found-action { margin-top:12px; }
html:root body .space-not-found-action { display:inline-flex;align-items:center;justify-content:center;text-decoration:none; }
html:root body .space-not-found-action.is-secondary { background:var(--msg-panel,#fff);color:var(--space-missing-accent,#219653);border:1px solid currentColor; }

/* Одна выразительная SVG-иконка для потерянного профиля и пространства. */
html:root body .space-not-found-visual { width:clamp(11rem,21vw,13.5rem);height:clamp(11rem,21vw,13.5rem);border-radius:2.25rem;color:var(--space-missing-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--space-missing-accent) 15%,var(--adaptive-surface,var(--standard-panel,#fff))),color-mix(in srgb,var(--space-missing-accent) 4%,var(--adaptive-surface,var(--standard-panel,#fff))));box-shadow:inset 0 1px color-mix(in srgb,#fff 55%,transparent),0 1.3rem 3rem color-mix(in srgb,var(--space-missing-accent) 13%,transparent); }
html:root body .space-not-found-visual svg { width:82%;height:82%;overflow:visible; }
html:root body .space-missing-halo { fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:2.5 7;opacity:.36; }
html:root body .space-missing-lens { stroke:currentColor;stroke-width:4; }
html:root body .space-missing-handle { fill:none;stroke:currentColor;stroke-width:13;stroke-linecap:round;opacity:.9; }
html:root body .space-missing-compass { fill:color-mix(in srgb,currentColor 27%,transparent);stroke:currentColor;stroke-width:3.2;stroke-linejoin:round; }
html:root body .space-missing-center { fill:currentColor; }
html:root body .space-missing-spark { fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;opacity:.72; }
html.vmesta-public-handle-loading body #profile-layout-grid > :not(#vmesta-handle-loading),
html.vmesta-public-handle-loading body #cover-section,
html.vmesta-public-handle-loading body #profile-tabs-container { visibility:hidden; }
html:root body #vmesta-handle-loading { display:none; }
html.vmesta-public-handle-loading body #vmesta-handle-loading { position:absolute;inset:5rem 1rem auto;display:flex;min-height:16rem;align-items:center;justify-content:center;flex-direction:column;gap:.75rem;color:var(--vmesta-ui-muted,#7087aa);font-size:.78rem;font-weight:800;text-align:center; }
html.vmesta-known-missing-route body #vmesta-handle-loading { visibility:hidden; }

/* Этапы трофейных наборов: порог и суммарное число открытых кадров. */
html:root body .level-trophy-stage-editor { grid-column:1/-1;display:grid;gap:.45rem;padding:.65rem;border:1px solid var(--theme-border-subtle);border-radius:.75rem;background:var(--theme-surface-panel); }
html:root body .level-trophy-stage-editor > strong { font-size:.68rem;color:var(--theme-text-primary); }
html:root body .level-trophy-stage-editor > small { color:var(--theme-text-muted);font-size:.53rem;line-height:1.4; }
html:root body .level-trophy-stage-editor [data-trophy-stages] { display:grid;gap:.35rem; }
html:root body .level-trophy-stage-row { display:grid;grid-template-columns:1.5rem minmax(0,1fr) minmax(0,1fr) 2rem;align-items:end;gap:.4rem; }
html:root body .level-trophy-stage-row > b { align-self:center;color:var(--theme-accent);font-size:.7rem;text-align:center; }
html:root body .level-settings-group .level-trophy-stage-row > label { display:flex;flex-direction:column;align-items:stretch;gap:.25rem;min-width:0;margin:0;border:0 !important;border-radius:0;padding:0 !important;background:transparent !important;color:var(--theme-text-secondary);font-size:.55rem;font-weight:850;line-height:1.25;white-space:nowrap; }
html:root body .level-trophy-stage-row input { width:100%;min-width:0;min-height:2.1rem;border:1px solid var(--theme-border-subtle);border-radius:.55rem;padding:.3rem .5rem;background:var(--theme-surface-control);color:var(--theme-text-primary);font-size:.62rem; }
html:root body .level-trophy-stage-row > button { min-height:2.1rem;border:0;border-radius:.55rem;background:var(--theme-surface-control);color:var(--theme-accent);font-size:1rem;cursor:pointer; }
html:root body .level-trophy-stage-row > button:disabled { opacity:.4;cursor:default; }
html:root body .level-trophy-add-stage { justify-self:start;min-height:2rem;border:1px solid var(--theme-border-subtle);border-radius:.55rem;padding:.3rem .65rem;background:var(--theme-surface-control);color:var(--theme-accent);font-size:.55rem;font-weight:900;cursor:pointer; }

/* Происхождение набора располагается рядом с названием, а не отдельной пустой строкой. */
html:root body .vmesta-sticker-title-line { display:flex;align-items:center;gap:.3rem;min-width:0; }
html:root body .vmesta-sticker-title-line :is(h3,h4,strong) { min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
html:root body .vmesta-sticker-title-line .vmesta-sticker-origin-badge { flex:none; }

/* Убираем декоративные обводки только у отмеченных пользователем элементов. */
html:root body .messenger-chat-menu button.is-active-action,
html:root body .messenger-chat-menu button.is-active-action:hover {
    border: 0 !important;
    box-shadow: none !important;
}
html:root body #settings-dropdown #menu-main-content > button:not([onclick*="logout"]):is(:hover, :focus-visible) {
    border-color: transparent !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
html:root body #settings-dropdown #menu-main-content > button:not([onclick*="logout"]):focus-visible {
    color: var(--vmesta-ui-primary) !important;
    text-decoration: underline;
    text-underline-offset: .2rem;
}
html:root body .gift-center-tabs button,
html:root body .gift-center-tabs button:is(:hover, :focus-visible, .is-active, [aria-selected="true"]) {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
html:root body .spaces-index-filter-panel {
    border: 0 !important;
    outline: 0 !important;
}

/* Пустое меню пространств: маленькая живая галактика без связи. */
html:root body #top-spaces-dropdown .top-spaces-empty-scene {
    width: 10rem;
    height: 6.5rem;
    margin: -.35rem auto .35rem;
    color: var(--vmesta-ui-primary, var(--theme-accent));
}
html:root body #top-spaces-dropdown .top-spaces-empty-scene svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}
html:root body #top-spaces-dropdown .top-spaces-empty-halo {
    fill: color-mix(in srgb, currentColor 8%, transparent);
    stroke: color-mix(in srgb, currentColor 20%, transparent);
    stroke-width: 1;
    animation: top-spaces-halo 3s ease-in-out infinite;
}
html:root body #top-spaces-dropdown .top-spaces-empty-orbit {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-dasharray: 90 18;
    opacity: .55;
    animation: top-spaces-orbit 5s linear infinite;
}
html:root body #top-spaces-dropdown .top-spaces-empty-planet {
    animation: top-spaces-float 3s ease-in-out infinite;
}
html:root body #top-spaces-dropdown .top-spaces-empty-planet circle {
    fill: color-mix(in srgb, currentColor 35%, var(--theme-surface-panel));
    stroke: currentColor;
    stroke-width: 1.7;
}
html:root body #top-spaces-dropdown .top-spaces-empty-planet path {
    fill: none;
    stroke: color-mix(in srgb, currentColor 65%, var(--theme-surface-panel));
    stroke-width: 2;
    stroke-linecap: round;
}
html:root body #top-spaces-dropdown .top-spaces-empty-moon {
    fill: var(--theme-warning);
    animation: top-spaces-halo 2.3s ease-in-out infinite reverse;
}
html:root body #top-spaces-dropdown .top-spaces-empty-star {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    animation: top-spaces-stars 2.5s ease-in-out infinite;
}
html:root body #top-spaces-dropdown .top-spaces-empty-signal {
    fill: none;
    stroke: var(--theme-text-muted);
    stroke-width: 2;
    stroke-linecap: round;
    animation: top-spaces-signal 2s ease-in-out infinite;
}
html:root body #top-spaces-dropdown .top-spaces-empty-signal-slash {
    stroke: var(--theme-danger);
    stroke-width: 2.4;
}
@keyframes top-spaces-float { 50% { transform: translateY(-4px); } }
@keyframes top-spaces-halo { 50% { opacity: .4; transform: scale(1.05); transform-origin: 74px 51px; } }
@keyframes top-spaces-orbit { to { stroke-dashoffset: -108; } }
@keyframes top-spaces-stars { 50% { opacity: .35; } }
@keyframes top-spaces-signal { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) {
    html:root body #top-spaces-dropdown .top-spaces-empty-scene * { animation: none !important; }
}

/* Consolidated source: mobile-v107.css */
/* ------------[Файл «mobile-v107.css»]------------ // Содержит исходный код модуля «оформление интерфейса» и его связанные обработчики. Модуль: «карта исходного кода». Часть 1/1 */
/* VMESTA v107 — final narrow overrides for the active v99 release. */
/* Этот устаревший индикатор иногда остаётся поверх уже загруженного профиля.
   У маршрутов есть собственные состояния загрузки, поэтому перекрывающий
   страницу дубль полностью исключаем из интерфейса. */
html:root body #vmesta-handle-loading{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* VMESTA v112 — адресные исправления записи и мобильного интерфейса. */
@media(min-width:768px){
  /* Кнопка завершения записи: спокойная тёмная кнопка с двумя контрастными
     полосами вместо пульсирующего красного круга. Обработчик остановки прежний. */
  html:root body .messenger-recording-panel.is-locked .messenger-recording-actions>.messenger-recording-stop.messenger-recording-stop{
    position:absolute!important;top:auto!important;right:.25rem!important;bottom:calc(100% + .42rem)!important;left:auto!important;width:2.35rem!important;min-width:2.35rem!important;height:2.35rem!important;min-height:2.35rem!important;
    border:0!important;border-radius:.72rem!important;background:#111827!important;color:#fff!important;
    box-shadow:0 .45rem 1rem rgb(15 23 42/.24)!important;animation:none!important;
  }
  html:root body .messenger-recording-panel.is-locked .messenger-recording-actions>.messenger-recording-stop.messenger-recording-stop::before{
    content:""!important;position:absolute!important;inset:50% auto auto 50%!important;width:.72rem!important;height:.92rem!important;
    border-radius:.12rem!important;background:linear-gradient(90deg,#fff 0 30%,transparent 30% 70%,#4aa3ff 70% 100%)!important;
    transform:translate(-50%,-50%)!important;
  }
  html:root body .messenger-recording-panel.is-locked .messenger-recording-actions>.messenger-recording-stop.messenger-recording-stop::after{display:none!important;animation:none!important}
  html:root body .messenger-recording-panel.is-locked .messenger-recording-actions>.messenger-recording-stop.messenger-recording-stop>svg{display:none!important}
}

@media(max-width:767px){
  /* Долгое нажатие на аватар: читаемая тема и вложенный раздел профиля. */
  html:root body .mobile-profile-quick-menu{
    width:min(21rem,calc(100vw - 1.25rem))!important;max-height:calc(100dvh - 5rem)!important;overflow:auto!important;
    border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 16%,transparent)!important;
    background:var(--vmesta-ui-panel,#fff)!important;color:var(--vmesta-ui-text,#183b70)!important;
    box-shadow:0 1.2rem 3rem rgb(15 23 42/.28)!important;
  }
  html:root:not(.dark) body .mobile-profile-quick-menu{--vmesta-ui-panel:#fff;--vmesta-ui-text:#173f73;--vmesta-ui-muted:#64748b}
  html.dark body .mobile-profile-quick-menu{--vmesta-ui-panel:#101d2d;--vmesta-ui-text:#edf6ff;--vmesta-ui-muted:#91a4b8}
  html:root body .mobile-profile-quick-menu>div{display:grid!important;gap:.18rem!important;padding:.38rem!important}
  html:root body .mobile-profile-quick-menu>div[hidden]{display:none!important}
  html:root body .mobile-profile-quick-menu button{display:grid!important;min-height:3.2rem!important;grid-template-columns:1.35rem minmax(0,1fr) auto!important;align-items:center!important;gap:.68rem!important;padding:.62rem .72rem!important;border:0!important;border-radius:.8rem!important;background:transparent!important;color:var(--vmesta-ui-text)!important;text-align:left!important}
  html:root body .mobile-profile-quick-menu button:is(:hover,:focus-visible){background:color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 12%,var(--vmesta-ui-panel))!important;outline:0!important}
  html:root body .mobile-profile-quick-menu button>svg{width:1.22rem!important;height:1.22rem!important;fill:none!important;stroke:var(--vmesta-ui-primary,#2583ff)!important;stroke-width:2!important}
  html:root body .mobile-profile-quick-menu button>span{display:grid!important;gap:.08rem!important;color:inherit!important;font-weight:850!important}
  html:root body .mobile-profile-quick-menu button strong{color:inherit!important;font-size:.78rem!important}
  html:root body .mobile-profile-quick-menu button small{color:var(--vmesta-ui-muted)!important;font-size:.56rem!important;font-weight:700!important}
  html:root body .mobile-profile-quick-menu button>b{color:var(--vmesta-ui-primary,#2583ff)!important;font-size:1.4rem!important}
  html:root body .mobile-profile-quick-menu button.is-danger{color:#e24f63!important}

  /* Левый мобильный экран: компактная геометрия, светлая тема без белого текста
     на белом фоне, друзья без пустых промежутков. */
  html:root body #profile-left-rail{color:var(--vmesta-ui-text,var(--adaptive-text-primary,#173f73))!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important}
  html:root:not(.dark) body #profile-left-rail{--vmesta-ui-panel:#fff;--vmesta-ui-soft:#edf5ff;--vmesta-ui-text:#173f73;--vmesta-ui-muted:#64748b}
  html:root body #profile-left-rail .profile-sidebar-navigation{gap:.08rem!important;padding:.38rem!important;background:var(--vmesta-ui-panel)!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item{min-height:2.85rem!important;gap:.62rem!important;padding:.48rem 3rem .48rem .7rem!important;color:var(--vmesta-ui-text)!important;font-size:.84rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item>svg{width:1.22rem!important;height:1.22rem!important}
  html:root body #profile-left-rail #profile-friends-open-button{height:3rem!important;border:0!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 7%,var(--vmesta-ui-panel))!important;color:var(--vmesta-ui-text)!important;box-shadow:none!important}
  html:root body #friends-list-container{display:flex!important;justify-content:flex-start!important;gap:.45rem!important;padding:.38rem .12rem .52rem!important;background:var(--vmesta-ui-panel)!important}
  html:root body #friends-list-container>button{width:2.8rem!important;height:2.8rem!important;flex:0 0 2.8rem!important}
  html:root body #profile-left-rail .profile-sidebar-more{gap:.1rem!important;margin-top:.06rem!important;padding-top:.1rem!important;border:0!important}
  html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:2.85rem!important;padding:.48rem .7rem!important;color:var(--vmesta-ui-text)!important;font-size:.84rem!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu{gap:.1rem!important;padding:.15rem .3rem .35rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 5%,var(--vmesta-ui-panel))!important;border-radius:.85rem!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{min-height:2.65rem!important;padding:.46rem .62rem!important;background:transparent!important;color:var(--vmesta-ui-text)!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button small{color:var(--vmesta-ui-muted)!important}
  html:root body #profile-left-rail #mobile-drawer-utility{order:-1!important;margin:0 0 .55rem!important}

  /* Быстрый вход остаётся частью пункта «Мой профиль», а не всплывающим окном. */
  html:root body #profile-left-rail #nav-my{padding-right:3.15rem!important}
  html:root body #profile-left-rail .top-account-switch-menu.is-drawer-origin{margin:.08rem .35rem .32rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 7%,var(--vmesta-ui-panel))!important}

  /* Редактор ковра и настроек: действия справа сверху, поиск сразу под ними,
     превью заполняет плитку без серых боковых полей. */
  html:root body .cover-animation-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.5rem!important;align-items:start!important}
  html:root body .cover-animation-header>.cover-animation-actions{grid-column:2!important;grid-row:1!important;justify-self:end!important;margin:0!important;flex-wrap:nowrap!important}
  html:root body .cover-animation-header>.cover-editor-search{grid-column:1/-1!important;grid-row:2!important;width:100%!important;margin:0!important}
  html:root body .cover-editor-icon-actions .cover-editor-header-action{width:2.65rem!important;height:2.65rem!important;min-width:2.65rem!important;padding:0!important}
  html:root body .cover-image-group-content{padding:.55rem!important}
  html:root body .cover-image-group-grid{grid-template-columns:1fr!important;gap:.65rem!important}
  html:root body .cover-image-tile{padding:.65rem!important}
  html:root body .cover-image-tile .cover-animation-preview{width:100%!important;min-height:7.8rem!important;background-size:cover!important;background-position:center!important;background-color:transparent!important}

  /* Настройка нижней панели — настоящий тумблер, состояние читает checked. */
  html:root body .mobile-nav-catalog-toggle{position:relative!important;grid-template-columns:minmax(0,1fr) 3.25rem!important;align-items:center!important}
  html:root body .mobile-nav-catalog-toggle>input{position:absolute!important;right:.72rem!important;width:3rem!important;height:1.7rem!important;margin:0!important;opacity:0!important;cursor:pointer!important}
  html:root body .mobile-nav-catalog-toggle>i{position:relative!important;display:block!important;width:3rem!important;height:1.7rem!important;border-radius:999px!important;background:#aab8c8!important;box-shadow:inset 0 0 0 1px rgb(15 23 42/.12)!important;pointer-events:none!important;transition:.18s ease!important}
  html:root body .mobile-nav-catalog-toggle>i::after{content:""!important;position:absolute!important;top:.2rem!important;left:.2rem!important;width:1.3rem!important;height:1.3rem!important;border-radius:50%!important;background:#fff!important;box-shadow:0 .12rem .35rem rgb(15 23 42/.25)!important;transition:.18s ease!important}
  html:root body .mobile-nav-catalog-toggle>input:checked+i{background:var(--vmesta-ui-primary,#2583ff)!important}
  html:root body .mobile-nav-catalog-toggle>input:checked+i::after{transform:translateX(1.3rem)!important}

  /* Центр событий не смешивается с общей шапкой, а нижнее действие не
     перекрывается мобильной навигацией. */
  html:root body.notifications-panel-open #site-header{visibility:hidden!important;pointer-events:none!important}
  html:root body.notifications-panel-open #notifications-dropdown{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;max-height:100dvh!important;border-radius:0!important;visibility:visible!important;pointer-events:auto!important}
  html:root body.notifications-panel-open .mobile-bottom-navigation{display:none!important}
  html:root body #notifications-dropdown .notifications-dropdown-head{display:grid!important;grid-template-columns:2.4rem minmax(0,1fr) 2.4rem!important;align-items:center!important;padding:max(.65rem,env(safe-area-inset-top)) .72rem .55rem!important}
  html:root body #notifications-dropdown .notifications-dropdown-head>div:nth-child(2){min-width:0!important;text-align:left!important}
  html:root body #notifications-dropdown .notifications-dropdown-footer{position:sticky!important;z-index:8!important;right:0!important;bottom:0!important;left:0!important;padding:.55rem .72rem calc(.55rem + env(safe-area-inset-bottom))!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important}

  /* Параметры поиска используют поверхность активной темы. */
  html:root body .friends-search-filters{border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 18%,transparent)!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#173f73))!important;box-shadow:0 .8rem 1.8rem color-mix(in srgb,#0f172a 12%,transparent)!important}
  html:root body .friends-search-filters :is(label,span,strong){color:var(--vmesta-ui-text,var(--adaptive-text-primary,#173f73))!important}
  html:root body .friends-search-filters :is(input,select,.vm-select-trigger,.vm-date-trigger){border:0!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 7%,var(--vmesta-ui-panel,var(--adaptive-surface,#fff)))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#173f73))!important;box-shadow:none!important}

  /* Кнопка взаимодействия в списке друзей и компактные меню у аватаров. */
  html:root body .friends-list-row .friend-row-action.is-interaction{color:var(--vmesta-ui-primary,#2583ff)!important}
  html:root body :is(#profile-avatar-card>.profile-safety-menu .profile-safety-dropdown,body>#profile-safety-dropdown,body.space-route #space-safety-menu .profile-safety-dropdown){position:fixed!important;z-index:22010!important;top:calc(var(--vmesta-mobile-header-total,3.55rem) + .65rem)!important;right:auto!important;bottom:auto!important;left:.75rem!important;width:min(17rem,calc(100vw - 1.5rem))!important;max-height:calc(100dvh - var(--vmesta-mobile-header-total,3.55rem) - 1.3rem)!important;border-radius:1rem!important;overflow:auto!important}

  /* «О профиле» и «О пространстве»: одна тематическая палитра, широкая
     верификация и две независимые колонки идентификатора/ранга. */
  html:root body :is(#about-modal,#space-about-panel) :is(.profile-verification-card,.profile-origin-card,.space-about-card,.space-about-identity-bar){border-color:color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 18%,transparent)!important;background:color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 6%,var(--vmesta-ui-panel,var(--adaptive-surface,#fff)))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#173f73))!important}
  html:root body :is(#about-modal,#space-about-panel) :is(.profile-verification-card,.profile-origin-card,.space-about-card,.space-about-identity-item) :is(span,strong,small,p,a){color:inherit!important}
  html:root body #space-about-panel .space-verification-card{display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr) 3.55rem!important;gap:.65rem!important;padding:.85rem!important}
  html:root body #space-about-panel .space-verification-copy{min-width:0!important}
  html:root body #space-about-panel .space-verification-copy :is(strong,small){overflow-wrap:anywhere!important}
  html:root body #space-about-panel .space-about-identity-bar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:.55rem!important;padding:.65rem!important}
  html:root body #space-about-panel .space-about-identity-divider{display:none!important}
  html:root body #space-about-panel .space-about-identity-item{min-width:0!important;padding:.65rem!important;border-radius:.8rem!important}

  /* Звонок выглядит как обычное сообщение, а не как полноширинная системная строка. */
  html:root body.mobile-chat-open .messenger-call-history-card{width:min(16.5rem,74%)!important;max-width:74%!important;min-height:3.6rem!important;margin-inline:0 auto!important;padding:.48rem .62rem!important;border-radius:.9rem!important}
  html:root body.mobile-chat-open .messenger-call-history-card .messenger-call-history-icon{width:2.35rem!important;height:2.35rem!important}

  /* На телефоне реакции — ровно 15 основных, без поиска и вызова клавиатуры. */
  html:root body .messenger-message-menu-stack.has-reaction-picker .messenger-reaction-picker.is-mobile-compact{width:min(17rem,calc(100vw - 1rem))!important;max-height:none!important;padding:.45rem!important}
  html:root body .messenger-reaction-picker.is-mobile-compact>header{grid-template-columns:1.8rem minmax(0,1fr) auto!important}
  html:root body .messenger-reaction-picker.is-mobile-compact>header>small{display:block!important;color:var(--msg-muted)!important;font-size:.52rem!important}
  html:root body .messenger-reaction-picker.is-mobile-compact>.messenger-reaction-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;max-height:none!important;gap:.2rem!important;padding:.28rem!important;overflow:visible!important}
  html:root body .messenger-reaction-picker.is-mobile-compact>.messenger-reaction-grid>button{width:100%!important;height:2.35rem!important;font-size:1.2rem!important}

  /* Подсказки стикеров не меняют высоту композера и не закрывают emoji picker. */
  html:root body .messenger-sticker-suggestions:not([hidden]){position:absolute!important;z-index:180!important;left:.55rem!important;bottom:calc(100% + .45rem)!important;max-width:calc(100% - 1.1rem)!important;transform:none!important}
}
/* Проверка серверной сессии остаётся фоновой и никогда не блокирует первый
   кадр. Даже если старый код вернёт класс pending, пользователь видит каркас. */
html.vmesta-auth-pending body{overflow:auto!important}
html.vmesta-auth-pending body>:not(#vmesta-auth-gate){visibility:visible!important}
html:root body #vmesta-auth-gate{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Единые часы загрузки: стрелки имеют собственные фиксированные точки
   вращения. Так общие transform-правила карточек и модальных окон больше не
   превращают часы в одну прыгающую черту. */
html:root body .vmesta-loading-orbit{
  position:relative!important;
  display:block!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  overflow:visible!important;
}
html:root body .vmesta-loading-orbit::before{
  left:calc(50% - .08rem)!important;
  top:calc(50% - .56rem)!important;
  width:.16rem!important;
  height:.56rem!important;
  transform-origin:50% 100%!important;
  animation:vmesta-loading-hour-hand-v110 4.8s linear infinite!important;
}
html:root body .vmesta-loading-orbit::after{
  left:calc(50% - .0425rem)!important;
  top:calc(50% - .82rem)!important;
  width:.085rem!important;
  height:.82rem!important;
  transform-origin:50% 100%!important;
  animation:vmesta-loading-minute-hand-v110 1.2s linear infinite!important;
}
html:root body .vmesta-loading-orbit>.vmesta-loading-satellite{
  animation:vmesta-loading-satellite-v110 1.35s linear infinite!important;
}
@keyframes vmesta-loading-hour-hand-v110{from{transform:rotate(28deg)}to{transform:rotate(388deg)}}
@keyframes vmesta-loading-minute-hand-v110{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes vmesta-loading-satellite-v110{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.messenger-mobile-sections-toggle{display:none!important}
html:root body :is(.post-item,.space-post,.profile-post-card,.publication-card,.post-card,.post-detail-card,[data-post-card],#post-viewer-panel){border:0!important;outline:0!important;box-shadow:none!important}
html:root body .post-actions>.pin-ribbon{position:static!important;inset:auto!important;flex:0 0 1.65rem!important;margin:0 .12rem 0 auto!important;transform:none!important}

@media(min-width:768px){
  html:root body #profile-account-switch-trigger,
  html:root body #profile-spaces-switch-trigger{display:none!important}
  html:root body .messenger-desktop-archive-button{display:grid!important}

  /* В полной версии подсказка видеозаписи относится к нижней панели чата.
     Мобильное fixed-позиционирование не должно уносить её к кнопке «Вверх». */
  html:root body .messenger-recording-panel.is-video .messenger-recording-status{
    position:absolute!important;
    z-index:48!important;
    top:auto!important;
    right:auto!important;
    bottom:calc(100% + .48rem)!important;
    left:.2rem!important;
    width:clamp(12.5rem,29vw,18rem)!important;
    max-width:min(18rem,calc(100vw - 2rem))!important;
    justify-content:start!important;
    padding:.42rem .68rem!important;
    border-radius:.72rem!important;
    background:var(--theme-surface-panel,var(--msg-panel,#fff))!important;
    color:var(--theme-text-primary,var(--msg-text,#15243a))!important;
    box-shadow:0 .48rem 1.25rem color-mix(in srgb,#020617 16%,transparent)!important;
  }
}

@media(max-width:767px){
  :root{--vmesta-mobile-header-total:calc(var(--vmesta-mobile-header-height,3.55rem) + env(safe-area-inset-top,0px))}

  html:root body #site-header nav{display:contents!important}
  html:root body #site-header nav>.spaces-top-wrapper{display:none!important}
  html:root body #site-header .site-brand-player{position:absolute!important;z-index:70!important;top:50%!important;left:50vw!important;display:flex!important;width:max-content!important;max-width:9rem!important;align-items:center!important;justify-content:center!important;gap:.24rem!important;pointer-events:auto!important;white-space:nowrap!important;transform:translate(-50%,-50%)!important}
  html:root body #site-header .site-brand-player>[data-site-wordmark]{display:block!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important;font-size:.86rem!important;font-weight:950!important;letter-spacing:.12em!important;line-height:1!important}
  html:root body #site-header .site-brand-player>#mobile-header-search{display:grid!important;width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important;place-items:center!important;border:0!important;border-radius:.75rem!important;background:transparent!important;box-shadow:none!important}
  html:root body #site-header .search-wrapper{display:none!important}
  html:root body.mobile-quick-search-open #site-header .search-wrapper{position:fixed!important;z-index:21980!important;top:calc(var(--vmesta-mobile-header-total) + .38rem)!important;right:.55rem!important;left:.55rem!important;display:flex!important;width:auto!important;min-width:0!important;margin:0!important}
  html:root body.mobile-quick-search-open #site-header .search-wrapper>.relative.group{width:100%!important}
  html:root body.mobile-quick-search-open #site-header #global-search{position:static!important;width:100%!important;height:3.35rem!important;padding:0 1rem 0 2.75rem!important;border:0!important;border-radius:1rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important;caret-color:auto!important;box-shadow:0 .8rem 2rem rgb(3 12 24/.24)!important}
  html:root body.mobile-quick-search-open #site-header #global-search::placeholder{color:var(--vmesta-ui-muted,#8290a8)!important}
  html:root body.mobile-quick-search-open #site-header #search-dropdown{position:fixed!important;z-index:21970!important;top:calc(var(--vmesta-mobile-header-total) + 4rem)!important;right:.55rem!important;left:.55rem!important;width:auto!important;max-height:calc(100dvh - var(--vmesta-mobile-header-total) - 4.8rem)!important;overflow:auto!important;border:0!important;border-radius:0 0 1rem 1rem!important;box-shadow:0 1rem 2.4rem rgb(3 12 24/.28)!important}
  html:root body.mobile-quick-search-open #site-header #search-dropdown:not(.hidden){display:block!important}
  html:root body.mobile-quick-search-open #site-header .search-dropdown-footer{position:sticky!important;bottom:0!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item{position:relative!important;min-height:3.38rem!important;gap:.68rem!important;padding:.6rem 3.25rem .6rem .74rem!important;font-size:.88rem!important;line-height:1.15!important}
  html:root body #profile-left-rail :is(.profile-account-switch-trigger,.profile-spaces-switch-trigger){position:absolute!important;z-index:6!important;top:50%!important;right:.52rem!important;display:grid!important;width:2.45rem!important;height:2.45rem!important;min-width:2.45rem!important;place-items:center!important;border:0!important;border-radius:.76rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 12%,var(--vmesta-ui-panel,#fff))!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#249653))!important;box-shadow:none!important;transform:translateY(-50%)!important}
  html:root body #profile-left-rail :is(.profile-account-switch-trigger,.profile-spaces-switch-trigger) svg{width:1.12rem!important;height:1.12rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2.2!important;transition:transform .18s ease!important}
  html:root body #profile-left-rail :is(.profile-account-switch-trigger,.profile-spaces-switch-trigger).is-open svg{transform:rotate(180deg)!important}
  html:root body #profile-left-rail .top-account-switch-menu.is-drawer-origin,
  html:root body #profile-left-rail #top-spaces-dropdown.is-mobile-drawer-spaces-menu{position:static!important;inset:auto!important;display:block!important;width:100%!important;max-width:none!important;max-height:18rem!important;margin:.12rem 0 .35rem!important;overflow:auto!important;border:0!important;border-radius:1rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 5%,var(--vmesta-ui-panel,#fff))!important;box-shadow:none!important;transform:none!important}
  html:root body #profile-left-rail :is(.top-account-switch-menu.is-drawer-origin,#top-spaces-dropdown.is-mobile-drawer-spaces-menu).hidden,
  html:root body #profile-left-rail .top-account-switch-menu.is-drawer-origin[hidden]{display:none!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{min-height:3.3rem!important;padding:.62rem .72rem!important;background:transparent!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#eef6ff))!important;font-size:.83rem!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button :is(span,svg){color:inherit!important;stroke:currentColor!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button small{color:var(--vmesta-ui-muted,var(--adaptive-text-muted,#8191a7))!important;opacity:1!important}

  html:root body .spaces-index-card.is-list .spaces-index-open{display:grid!important;grid-template-columns:5.7rem minmax(0,1fr)!important;min-height:5.8rem!important}
  html:root body .spaces-index-card.is-list .spaces-index-cover{height:100%!important;min-height:5.8rem!important}
  html:root body .spaces-index-card.is-list .spaces-index-body{gap:.55rem!important;padding:.62rem 3.4rem .62rem .62rem!important}
  html:root body .spaces-index-card.is-list .spaces-index-body img{width:2.75rem!important;height:2.75rem!important;border-radius:.72rem!important}
  html:root body .spaces-index-card.is-list .spaces-index-body strong{font-size:.86rem!important}
  html:root body .spaces-index-card.is-list .spaces-index-body small{font-size:.62rem!important}
  html:root body .spaces-index-card.is-list .spaces-index-genres{display:none!important}
  html:root body .spaces-index-card.is-list .spaces-index-kebab{top:50%!important;right:.5rem!important;transform:translateY(-50%)!important}
  html:root body .spaces-index-content-layout>.spaces-top-panel{display:none!important}

  html:root body[data-mobile-right-context="none"] #mobile-achievements-peek,
  html:root body #mobile-achievements-peek[hidden]{display:none!important}
  html:root body[data-mobile-right-context="spaces"] #profile-right-rail>.sidebar-content,
  html:root body[data-mobile-right-context="spaces"] #profile-right-rail>#messages-side-root,
  html:root body[data-mobile-right-context="spaces"] #profile-right-rail>#mobile-achievements-contacts{display:none!important}
  html:root body[data-mobile-right-context="spaces"] #profile-right-rail>.spaces-top-panel{display:grid!important;width:100%!important;max-width:none!important;margin:.5rem 0 0!important;border:0!important;box-shadow:none!important}
  html:root body[data-mobile-right-context="profile"] #profile-right-rail>.spaces-top-panel{display:none!important}

  html:root body .messenger-dialogs-panel{position:relative!important}
  html:root body .messenger-desktop-archive-button{display:none!important}
  html:root body .messenger-mobile-sections-toggle{display:grid!important}
  html:root body .messenger-mobile-list-tabs{position:absolute!important;z-index:120!important;top:4.65rem!important;right:.65rem!important;display:none!important;width:min(15.5rem,calc(100vw - 1.3rem))!important;max-height:calc(100dvh - 5.5rem)!important;flex-direction:column!important;gap:.28rem!important;padding:.45rem!important;overflow:auto!important;border:0!important;border-radius:1rem!important;background:var(--msg-menu-surface,var(--vmesta-ui-panel,#fff))!important;box-shadow:0 1rem 2.5rem rgb(3 12 24/.3)!important}
  html:root body .messenger-mobile-list-tabs.is-open{display:flex!important}
  html:root body .messenger-mobile-list-tabs>button{width:100%!important;min-height:3.35rem!important;justify-content:flex-start!important;padding:.65rem .8rem!important;font-size:.82rem!important}
  html:root body .messenger-chat-menu.is-row-menu{width:min(17.25rem,calc(100vw - 1.25rem))!important}
  html:root body .messenger-chat-menu.is-row-menu>button{min-height:3.62rem!important;padding:.7rem .78rem!important;font-size:.86rem!important}

  html:root body .messenger-message-menu-stack{position:fixed!important;top:var(--message-menu-y)!important;left:var(--message-menu-x)!important;width:min(15.5rem,calc(100vw - 1rem))!important;max-width:min(15.5rem,calc(100vw - 1rem))!important}
  html:root body .messenger-message-menu-stack.has-reaction-picker{inset:auto!important;top:var(--message-menu-y)!important;left:var(--message-menu-x)!important;display:flex!important;width:min(15.5rem,calc(100vw - 1rem))!important;max-width:min(15.5rem,calc(100vw - 1rem))!important;height:auto!important;max-height:calc(100dvh - var(--message-menu-y) - .5rem)!important;padding:0!important;place-items:initial!important;overflow:visible!important}
  html:root body .messenger-message-menu-stack.has-reaction-picker .messenger-reaction-picker{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;margin:0!important;transform-origin:top left!important}

  html:root body #friends-list-container{display:grid!important;min-height:2.65rem!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;visibility:visible!important;opacity:1!important;contain:layout!important}
  html:root body #friends-list-container>button,
  html:root body #friends-list-container>.profile-friend-avatar-skeleton{width:2.5rem!important;height:2.5rem!important;margin:0!important;visibility:visible!important;opacity:1!important}

  html:root body.mobile-chat-open .messenger-call-history-card{width:min(18rem,82%)!important;max-width:82%!important}
  html:root body.mobile-nav-scrolled:not(.mobile-chat-open):not(.mobile-input-surface-open):not(.mobile-nav-disabled) .mobile-bottom-navigation{opacity:1!important;transform:none!important;pointer-events:auto!important}
}

/* VMESTA v112 FINAL — эти правила должны оставаться последними: ниже них старые
   мобильные размеры не должны возвращать широкие карточки и большие интервалы. */
@media(max-width:767px){
  html:root body #profile-left-rail .profile-sidebar-navigation{gap:.12rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item{min-height:3.38rem!important;gap:.68rem!important;padding:.6rem 3.25rem .6rem .74rem!important;font-size:.88rem!important;line-height:1.15!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item>svg{width:1.32rem!important;height:1.32rem!important;min-width:1.32rem!important}
  html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:3.38rem!important;padding:.6rem .74rem!important;font-size:.88rem!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{min-height:3.3rem!important;padding:.62rem .72rem!important;font-size:.83rem!important}

  html:root body #friends-list-container{display:flex!important;min-height:3.25rem!important;align-items:center!important;justify-content:flex-start!important;gap:.42rem!important;padding:.38rem .45rem!important;border-radius:1rem!important;background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;contain:layout!important}
  html:root body #friends-list-container>button,
  html:root body #friends-list-container>.profile-friend-avatar-skeleton{width:3rem!important;height:3rem!important;min-width:3rem!important;margin:0!important}

  html:root body.mobile-chat-open .messenger-call-history-card{width:min(15.5rem,74%)!important;max-width:74%!important;min-height:3.8rem!important;padding:.54rem .62rem!important}

  html:root body .mobile-bottom-navigation{right:.55rem!important;bottom:calc(.35rem + env(safe-area-inset-bottom,0px))!important;left:.55rem!important;width:auto!important;max-width:none!important}
  html:root body.notification-center-open .mobile-bottom-navigation,
  html:root body.notification-center-open #mobile-bottom-navigation{display:none!important}

  html:root body :is(#profile-safety-menu,#space-safety-menu,.profile-safety-menu,.space-safety-menu){z-index:22140!important;pointer-events:auto!important}
  html:root body #profile-avatar-card>:is(#profile-safety-menu,#space-safety-menu,.profile-safety-menu,.space-safety-menu){position:absolute!important;top:.45rem!important;right:.45rem!important;bottom:auto!important;left:auto!important}
  html:root body #profile-avatar-card>:is(#profile-safety-menu,#space-safety-menu,.profile-safety-menu,.space-safety-menu)>.profile-safety-trigger{display:grid!important;width:2.2rem!important;height:2.2rem!important;min-width:2.2rem!important;min-height:2.2rem!important;place-items:center!important;border:0!important;border-radius:.72rem!important;opacity:1!important;transform:none!important}
}

/* VMESTA v113 — мобильная геометрия после регрессионного прогона. */
html:root body #top-account-switch-trigger{display:none!important}
html:root body .top-account-switch-empty{display:grid;gap:.18rem;padding:.78rem .85rem;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))}
html:root body .top-account-switch-empty strong{font-size:.7rem;font-weight:900}
html:root body .top-account-switch-empty small{color:var(--vmesta-ui-muted,var(--adaptive-text-muted,#8191a7));font-size:.57rem;font-weight:700;line-height:1.4}

@media(min-width:768px){
  html:root body #profile-tabs-container.is-own-profile-context #btn-tab-my{display:none!important}
}

@media(max-width:767px){
  html:root body #site-header #mobile-header-search{display:grid!important;width:2.35rem!important;height:2.35rem!important;min-width:2.35rem!important;place-items:center!important;border:0!important;border-radius:.75rem!important;background:transparent!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#2583ff))!important;box-shadow:none!important}
  html:root body #site-header #mobile-header-search svg{width:1.28rem!important;height:1.28rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important}
  html:root body #site-header .site-brand-player>#mobile-header-search{display:none!important}
  html:root body.mobile-quick-search-open #site-header .search-wrapper{right:0!important;left:0!important;width:100vw!important;max-width:100vw!important;margin:0!important;padding:0 .42rem!important;box-sizing:border-box!important}
  html:root body.mobile-quick-search-open #site-header .search-wrapper>.relative.group{display:block!important;width:100%!important;min-width:0!important}
  html:root body.mobile-quick-search-open #site-header #global-search{display:block!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
  html:root body.mobile-quick-search-open #site-header #search-dropdown{right:0!important;left:0!important;width:100vw!important;max-width:100vw!important;box-sizing:border-box!important;border-radius:0 0 1rem 1rem!important}

  html:root body #profile-sidebar-shell{display:flex!important;flex-direction:column!important}
  html:root body #profile-left-rail #profile-avatar-card{order:-2!important;width:100%!important;margin:0 0 .55rem!important}
  html:root body #profile-left-rail #mobile-drawer-utility{order:-1!important;width:100%!important;margin:0 0 .55rem!important}

  html:root body:not(.space-route) #profile-tabs-container.is-own-profile-context #btn-tab-my.is-visible{display:inline-flex!important}
  html:root body #profile-tabs-container .profile-tab-list{display:flex!important;width:max-content!important;min-width:100%!important;align-items:center!important;gap:.35rem!important;padding:.25rem .45rem!important}
  html:root body #profile-tabs-container .profile-tab-list>button{min-width:2.9rem!important;min-height:2.75rem!important;flex:0 0 2.9rem!important;justify-content:center!important;border-radius:.8rem!important;padding:.45rem!important}
  html:root body #profile-tabs-container .profile-tab-list>button.active-tab{min-width:6.8rem!important;flex:1 0 6.8rem!important;padding-inline:.75rem!important}
  html:root body #profile-tabs-container .profile-tab-list>button .profile-tab-label{font-size:.65rem!important;white-space:nowrap!important}

  html:root body #profile-left-rail .profile-sidebar-navigation{gap:.06rem!important}
  html:root body #profile-left-rail .profile-sidebar-navigation>.nav-item{min-height:2.78rem!important;padding:.42rem 3rem .42rem .72rem!important;font-size:.82rem!important}
  html:root body #profile-left-rail .profile-sidebar-more-toggle{min-height:2.78rem!important;padding:.42rem .72rem!important;font-size:.82rem!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{min-height:2.7rem!important;padding:.44rem .7rem!important;font-size:.78rem!important}

  html:root body #friends-list-container{min-height:3.2rem!important;gap:.42rem!important;padding:.38rem .6rem .38rem 1.05rem!important;overflow-x:auto!important}
  html:root body #friends-list-container>button,
  html:root body #friends-list-container>.profile-friend-avatar-skeleton{width:2.75rem!important;height:2.75rem!important;min-width:2.75rem!important}

  html:root body #profile-left-rail #top-spaces-dropdown.is-mobile-drawer-spaces-menu{max-height:min(19rem,52dvh)!important}
  html:root body #profile-left-rail #top-spaces-dropdown.is-mobile-drawer-spaces-menu .top-spaces-empty{display:grid!important;min-height:0!important;place-items:center!important;gap:.28rem!important;padding:.7rem .65rem!important}
  html:root body #profile-left-rail #top-spaces-dropdown.is-mobile-drawer-spaces-menu .top-spaces-empty-scene{width:6rem!important;height:4.15rem!important;margin:0 auto!important}
  html:root body #profile-left-rail #top-spaces-dropdown.is-mobile-drawer-spaces-menu .top-spaces-empty-scene svg{display:block!important;width:100%!important;height:100%!important}

  html:root body #post-viewer.is-discussion-mode #post-viewer-panel{display:flex!important;height:calc(100dvh - .8rem)!important;max-height:calc(100dvh - .8rem)!important;flex-direction:column!important;grid-template-rows:none!important}
  html:root body #post-viewer.is-discussion-mode #viewer-media-container[data-media-count]{width:100%!important;min-height:0!important;flex:0 0 min(36dvh,17rem)!important}
  html:root body #post-viewer.is-discussion-mode #viewer-sidebar{display:flex!important;width:100%!important;height:auto!important;min-height:0!important;flex:1 1 0!important;flex-direction:column!important;overflow:hidden!important}
  html:root body #post-viewer.is-discussion-mode #viewer-scroll-region{display:flex!important;min-height:0!important;flex:1 1 0!important;flex-direction:column!important;overflow-y:auto!important}
  html:root body #post-viewer.is-discussion-mode #viewer-comments-block{min-height:0!important;flex:1 0 auto!important}
  html:root body #post-viewer.is-discussion-mode #viewer-comments-list{min-height:4rem!important;padding-bottom:.8rem!important}
  html:root body #post-viewer.is-discussion-mode .viewer-form-shell{position:relative!important;inset:auto!important;flex:0 0 auto!important;margin-top:auto!important}

  html:root body #about-modal :is(.profile-verification-card,.profile-origin-card){width:100%!important;min-height:6.4rem!important;box-sizing:border-box!important;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#2583ff)) 30%,transparent)!important;border-radius:1rem!important;padding:1rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#2583ff)) 8%,var(--vmesta-ui-panel,#fff))!important;box-shadow:0 .65rem 1.5rem color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#2583ff)) 8%,transparent)!important}
  html:root body #about-modal .profile-origin-card{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.28rem!important;color:var(--vmesta-ui-text,var(--adaptive-text-primary,#15315d))!important}
  html:root body #about-modal .profile-origin-card :is(span,strong,small){color:inherit!important;opacity:1!important}
  html:root body #about-modal .profile-origin-card>span{color:var(--vmesta-ui-primary,var(--color-dynamic,#2583ff))!important}

  html:root body #space-about-panel :is(.space-verification-card,.space-about-location,.space-about-created){width:100%!important;min-width:0!important;box-sizing:border-box!important;border:1px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#2583ff)) 26%,transparent)!important;border-radius:1rem!important;background:color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#2583ff)) 7%,var(--vmesta-ui-panel,#fff))!important;box-shadow:0 .55rem 1.4rem color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#2583ff)) 7%,transparent)!important}
  html:root body #space-about-panel .space-verification-card{min-height:7.2rem!important;padding:1rem!important}
  html:root body #space-about-panel .space-about-location{min-height:5.5rem!important;padding:1rem!important}
  html:root body #space-about-panel .space-about-created{min-height:6rem!important;padding:1rem!important}

  html:root body :is(#profile-avatar-card>.profile-safety-menu .profile-safety-dropdown,body>#profile-safety-dropdown,body.space-route #space-safety-menu .profile-safety-dropdown){position:fixed!important;z-index:22160!important;top:calc(var(--vmesta-mobile-header-total,3.55rem) + .55rem)!important;right:.65rem!important;bottom:auto!important;left:auto!important;width:min(17rem,calc(100vw - 1.3rem))!important;max-height:calc(100dvh - var(--vmesta-mobile-header-total,3.55rem) - 1.1rem)!important;overflow-y:auto!important}
}
/* VMESTA v114 FINAL — мобильные исправления по контрольным снимкам. */
@media(max-width:767px){
  html:root body #btn-to-top{display:none!important}

  html:root body #site-header .site-brand-player{left:50%!important;color:var(--vmesta-ui-primary,var(--color-dynamic,#2583ff))!important}
  html:root body #site-header .site-brand-player>[data-site-wordmark]{color:var(--vmesta-ui-primary,var(--color-dynamic,#2583ff))!important}
  html:root body.mobile-quick-search-open #site-header .search-wrapper,
  html:root body.mobile-quick-search-open #site-header #search-dropdown{right:0!important;left:0!important;width:100vw!important;max-width:100vw!important}
  html:root body.mobile-quick-search-open #site-header .search-wrapper{padding:0 .42rem!important}

  html:root body:has(#about-modal:not(.hidden)) #site-header{z-index:22190!important;pointer-events:auto!important}
  html:root body #about-modal:not(.hidden){z-index:22100!important;top:var(--vmesta-mobile-header-total)!important;bottom:0!important;height:auto!important;padding:.35rem .55rem!important;align-items:stretch!important}
  html:root body #about-modal:not(.hidden)>div{width:100%!important;max-width:none!important;max-height:calc(100dvh - var(--vmesta-mobile-header-total) - .7rem)!important;margin:0!important;border-radius:1rem!important}
  html:root body:has(#about-modal:not(.hidden)) :is(.mobile-achievements-peek,.mobile-profile-peek){z-index:22180!important;pointer-events:auto!important}
  html:root body:has(#about-modal:not(.hidden)).mobile-drawer-open #profile-left-rail,
  html:root body:has(#about-modal:not(.hidden)).mobile-achievements-open #profile-right-rail{z-index:22220!important}
  html:root body:has(#about-modal:not(.hidden)) #mobile-drawer-backdrop{z-index:22210!important}

  html:root body #profile-tabs-container .profile-tabs-inner{padding:.32rem .42rem!important;overflow-x:auto!important}
  html:root body #profile-tabs-container .profile-tab-list{display:grid!important;width:100%!important;grid-auto-flow:column!important;grid-auto-columns:minmax(4rem,1fr)!important;gap:.28rem!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn{display:inline-flex!important;min-width:0!important;min-height:3rem!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:.18rem!important;border:0!important;border-radius:.78rem!important;padding:.34rem .18rem!important;background:transparent!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn.hidden{display:none!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn:is(.active,.active-tab){background:var(--vmesta-ui-soft,var(--adaptive-surface-2,#edf4fb))!important}
  html:root body #profile-tabs-container .profile-tab-label{display:block!important;max-width:100%!important;overflow:hidden!important;color:var(--vmesta-ui-muted,#6d89ad)!important;font-size:.5rem!important;font-weight:850!important;text-overflow:ellipsis!important}
  html:root body #profile-tabs-container .tab-btn:is(.active,.active-tab) .profile-tab-label{color:var(--vmesta-ui-primary,var(--color-dynamic,#2583ff))!important}
  html:root body #profile-tabs-container .profile-tab-icon{width:1.08rem!important;height:1.08rem!important}

  html:root body #friends-list-container{box-sizing:border-box!important;width:auto!important;margin-inline:2.45rem .7rem!important;padding:.32rem 0!important;gap:.5rem!important;overflow:hidden!important;background:transparent!important}
  html:root body #friends-list-container>button{flex:0 0 2.5rem!important}

  html:root body #profile-left-rail .profile-sidebar-more-menu{gap:.28rem!important;padding:.2rem 0!important;background:transparent!important}
  html:root body #profile-left-rail .profile-sidebar-more-menu>button{min-height:2.65rem!important;border-radius:.75rem!important;padding:.48rem .68rem!important;background:var(--vmesta-ui-soft,var(--adaptive-surface-2,#edf4fb))!important;font-size:.72rem!important}

  html:root body .messenger-mobile-sections-toggle{width:2.1rem!important;height:2.1rem!important;min-width:2.1rem!important;min-height:2.1rem!important;padding:0!important;border-radius:.62rem!important}
  html:root body .messenger-mobile-list-tabs{top:4.25rem!important;width:min(14.6rem,calc(100vw - 1.3rem))!important;padding:.35rem!important}
  html:root body .messenger-mobile-list-tabs>button{min-height:2.8rem!important;padding:.5rem .65rem!important;font-size:.75rem!important}
  html:root body .messenger-chat-menu,
  html:root body .messenger-chat-menu.is-row-menu{width:min(15.7rem,calc(100vw - 1rem))!important;max-height:calc(100dvh - 5.1rem)!important;padding:.35rem!important;overflow-y:auto!important}
  html:root body .messenger-chat-menu>button,
  html:root body .messenger-chat-menu.is-row-menu>button{min-height:3rem!important;padding:.52rem .62rem!important;font-size:.76rem!important}

  html:root body .emoji-picker-expanded{animation:vmesta-v114-picker-rise .22s cubic-bezier(.2,.75,.25,1)!important}
  html:root body .emoji-picker-expanded .emoji-picker-header{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:.38rem!important}
  html:root body .emoji-picker-expanded .emoji-picker-header>.emoji-picker-search-wrap{display:flex!important;width:100%!important;height:2.35rem!important;min-width:0!important;margin:0!important}
  html:root body .emoji-picker-expanded[data-mode="stickers"] .emoji-picker-header>.emoji-picker-search-wrap{visibility:hidden!important}
  html:root body .emoji-picker-expanded .emoji-picker-emoji-view>.emoji-picker-search-wrap{display:none!important}
  @keyframes vmesta-v114-picker-rise{from{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:none}}

  html:root body .profile-video-tabs{display:grid!important;width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.25rem!important;margin-bottom:.75rem!important;padding:.25rem!important;border:0!important;background:var(--vmesta-ui-soft,var(--adaptive-surface-2,#edf4fb))!important}
  html:root body .profile-video-tabs button{min-width:0!important;justify-content:center!important}

  html:root body .vmesta-image-editor-backdrop{backdrop-filter:none!important}
  html:root body .vmesta-image-editor-dialog{grid-template-rows:3.7rem auto minmax(0,1fr) auto 3.8rem!important}
  html:root body .vmesta-image-editor-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;overflow:visible!important;padding:.4rem .45rem!important}
  html:root body .vmesta-image-editor-tool-list{min-width:0!important;overflow-x:auto!important;scrollbar-width:none!important}
  html:root body .vmesta-image-editor-tool-list::-webkit-scrollbar{display:none!important}
  html:root body .vmesta-image-editor-tool-settings{display:flex!important;min-width:8.2rem!important;margin:0!important;padding-left:.25rem!important;background:var(--theme-surface-panel,#fff)!important}
  html:root body .vmesta-image-editor-range{min-width:5.25rem!important;flex-direction:row!important}
  html:root body .vmesta-image-editor-range input{width:3.55rem!important}
  html:root body .vmesta-image-editor-stage{box-shadow:none!important}

  /* Полноэкранный поиск не должен снова сужаться после выбора «Люди» или
     «Пространства»: обе колонки остаются частью одной ширины viewport. */
  html:root body #global-search-modal .global-search-dialog,
  html:root body #global-search-modal .global-search-layout,
  html:root body #global-search-modal .global-search-main,
  html:root body #global-search-modal .global-search-searchbar,
  html:root body #global-search-modal .global-search-field{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important}
  html:root body #global-search-modal .global-search-layout{display:flex!important;flex-direction:column!important;overflow-x:hidden!important}
  html:root body #global-search-modal .global-search-side{box-sizing:border-box!important;width:100%!important;min-width:0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html:root body #global-search-modal .global-search-side>header,
  html:root body #global-search-modal .global-search-hint{grid-column:1/-1!important}

  /* Убираем прежнюю синюю обводку у служебных карточек. */
  html:root body #about-modal :is(.profile-verification-card,.profile-origin-card),
  html:root body #space-about-panel :is(.space-verification-card,.space-about-location,.space-about-created){border:0!important;background:var(--vmesta-ui-soft,var(--adaptive-surface-2,#edf4fb))!important;box-shadow:none!important}
}

/* VMESTA v115 — горизонтальная панель профиля и собственный presence. */
@media(max-width:767px){
  html:root body #profile-tabs-container .profile-tabs-inner{box-sizing:border-box!important;padding:.32rem 3rem .32rem .42rem!important;overflow:hidden!important}
  html:root body #profile-tabs-container .profile-tab-list{display:flex!important;width:100%!important;min-width:0!important;align-items:center!important;gap:.28rem!important;padding:0!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn{display:inline-flex!important;width:2.8rem!important;min-width:2.8rem!important;min-height:3rem!important;flex:0 0 2.8rem!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:0!important;padding:.4rem!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn:is(.active,.active-tab,.text-blue-500,.text-blue-600){width:auto!important;min-width:7.35rem!important;max-width:9rem!important;flex:1 1 auto!important;justify-content:center!important;gap:.5rem!important;padding:.45rem .7rem!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn:not(:is(.active,.active-tab,.text-blue-500,.text-blue-600)) .profile-tab-label{display:none!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn:is(.active,.active-tab,.text-blue-500,.text-blue-600) .profile-tab-label{display:block!important;width:auto!important;max-width:6rem!important;color:var(--vmesta-ui-ink,var(--adaptive-text-primary,#e6eefb))!important;font-size:.72rem!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important}
  html:root body #profile-tabs-container .profile-tab-icon,
  html:root body #profile-tabs-container .profile-tab-icon svg{display:block!important;width:1.28rem!important;height:1.28rem!important;min-width:1.28rem!important;flex:0 0 1.28rem!important}
  html:root body #profile-tabs-container .profile-tab-icon svg{fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  html:root body #mobile-achievements-peek{width:1.75rem!important;height:3.65rem!important;border-radius:.8rem 0 0 .8rem!important}
}

/* VMESTA v117: selected profile tab remains a horizontal icon+label button. */
@media(max-width:767px){
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn:is(.active,.active-tab,.text-blue-500,.text-blue-600){display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.48rem!important}
  html:root body #profile-tabs-container .profile-tab-list>.tab-btn:is(.active,.active-tab,.text-blue-500,.text-blue-600) .profile-tab-label{display:inline-block!important;margin:0!important;line-height:1!important}
  html:root body .global-music-panel{border-radius:.82rem!important;overflow:hidden!important;clip-path:inset(0 round .82rem)!important}
}

/* Consolidated source: v118-fixes.css */
/* ------------[Файл «v118-fixes.css»]------------ // Содержит исходный код модуля «оформление интерфейса» и его связанные обработчики. Модуль: «карта исходного кода». Часть 1/1 */
/* VMESTA v118 — targeted desktop/mobile recovery fixes. */

/* A track owns its artwork; it must never inherit a profile/avatar cover. */
html:root body .vmesta-track-player {
  --vmesta-track-cover: none;
  contain: layout paint;
}
html:root body .vmesta-track-player::before { background-image: var(--vmesta-track-cover, none) !important; }
html:root body .vmesta-track-wave,
html:root body .vmesta-track-wave input,
html:root body .global-music-wave,
html:root body .global-music-wave input { touch-action: pan-y !important; }
html:root body :is(.vmesta-track-volume-popover,.global-music-volume-popover).is-volume-ported {
  z-index: 30050 !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* The large profile cover is edge-to-edge again. */
html:root body #cover-section {
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
}

/* Desktop cover previews fill their cards instead of creating grey side bars. */
html:root body .cover-image-tile .cover-preview-image {
  width: 100% !important;
  min-height: 7rem !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: transparent !important;
}

/* Editing handles remain above the surface they edit. */
html:root body :is(.vmesta-edit-button,.avatar-edit-corner,#edit-profile-btn,#achievement-showcase-edit-button,#avatar-showcase-edit,.profile-interests-edit) {
  z-index: 80 !important;
  isolation: isolate;
}
html:root body :is(#profile-avatar-card,#profile-sidebar-shell,#profile-interests-card,.achievement-showcase-card) { overflow: visible !important; }

/* Restore compact quick-login in the desktop header. */
@media (min-width: 768px) {
  html:root body #top-account-switch-trigger:not([hidden]) { display: grid !important; }
  html:root body #notifications-dropdown.notifications-dropdown-v2 {
    width: min(22rem, calc(100vw - 2rem)) !important;
    max-height: min(31rem, calc(100vh - 5rem)) !important;
  }
  html:root body .global-music-panel {
    width: clamp(12rem, 19vw, 16rem) !important;
    margin-inline: .35rem !important;
    border-radius: .8rem !important;
    clip-path: inset(0 round .8rem) !important;
  }
}

/* Keep selection actions visible even when a custom palette is active. */
html:root body .messenger-selection-toolbar,
html:root body .messenger-selection-toolbar * { opacity: 1 !important; }
html:root body :is(.messenger-selection-close,.messenger-selection-actions button) {
  color: var(--msg-accent,var(--vmesta-ui-primary,#2583ff)) !important;
  background: var(--msg-panel,var(--vmesta-ui-panel,#fff)) !important;
}
html:root body :is(.messenger-selection-close,.messenger-selection-actions button) :is(svg,path,circle) {
  color: currentColor !important;
  stroke: currentColor !important;
}
.messenger-room-quick-reactions { display: grid; gap: .55rem; border: 0; padding: .65rem 0; }
.messenger-room-quick-reactions legend { display: grid; gap: .15rem; color: var(--msg-text,var(--vmesta-ui-text,#173f73)); }
.messenger-room-quick-reactions legend small { color: var(--msg-muted,var(--vmesta-ui-muted,#64748b)); font-size: .6rem; }
.messenger-room-quick-reactions > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.messenger-room-quick-reactions > div label { display: grid !important; width: 2.3rem; height: 2.3rem; min-height: 0 !important; place-items: center; border-radius: .7rem; background: var(--msg-soft,var(--vmesta-ui-soft,#edf4fb)); cursor: pointer; }
.messenger-room-quick-reactions > div input { position: absolute; opacity: 0; pointer-events: none; }
.messenger-room-quick-reactions > div label:has(input:checked) { box-shadow: inset 0 0 0 2px var(--msg-accent,var(--vmesta-ui-primary,#2583ff)); background: color-mix(in srgb,var(--msg-accent,var(--vmesta-ui-primary,#2583ff)) 15%,var(--msg-panel,#fff)); }
.messenger-room-quick-reactions > div span { font-size: 1.1rem; }

@media (max-width: 767px) {
  /* Header stays reachable while the profile editor is open. */
  html:root body #cover-animation-panel:not(.hidden) {
    top: calc(var(--vmesta-mobile-header-height,3.55rem) + env(safe-area-inset-top,0px)) !important;
    bottom: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  html:root body #cover-animation-panel .cover-editor-workspace {
    height: 100% !important;
    max-height: 100% !important;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom,0px)) !important;
  }
  html:root body:has(#cover-animation-panel:not(.hidden)) #site-header {
    display: flex !important;
    z-index: 23020 !important;
    pointer-events: auto !important;
  }

  /* Search button remains above decorative header/player layers. */
  html:root body #mobile-header-search {
    position: relative !important;
    z-index: 120 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  /* One readable theme per row. */
  html:root body .theme-preset-grid { grid-template-columns: 1fr !important; }

  /* Five real friend slots fill the drawer width without the old leading gap. */
  html:root body #friends-list-container {
    box-sizing: border-box !important;
    display: flex !important;
    width: 100% !important;
    min-height: 3.65rem !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .35rem !important;
    margin: 0 !important;
    padding: .35rem .1rem .5rem !important;
    overflow: hidden !important;
    background: transparent !important;
  }
  html:root body #friends-list-container > :is(button,.profile-friend-avatar-skeleton) {
    width: 3rem !important;
    height: 3rem !important;
    min-width: 3rem !important;
    flex: 0 0 3rem !important;
    margin: 0 !important;
  }

  /* Active profile tab has the same icon/text layout as every other active tab. */
  html:root body #profile-tabs-container .tab-btn:is(.active,.active-tab,.font-bold,.text-blue-500,.text-blue-600) {
    width: auto !important;
    min-width: 6.6rem !important;
    flex: 1 1 6.6rem !important;
    gap: .42rem !important;
    background: color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 14%,var(--vmesta-ui-panel,#fff)) !important;
    color: var(--vmesta-ui-primary,#2583ff) !important;
  }
  html:root body #profile-tabs-container .tab-btn:is(.active,.active-tab,.font-bold,.text-blue-500,.text-blue-600) .profile-tab-label {
    display: inline-block !important;
    width: auto !important;
    max-width: 6rem !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Drawer/shop surfaces now derive from the selected theme. */
  html:root body #profile-left-rail .profile-sidebar-more-menu {
    background: color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 8%,var(--vmesta-ui-panel,#fff)) !important;
  }
  html:root body #profile-left-rail .profile-sidebar-more-menu > button {
    background: var(--vmesta-ui-soft,var(--adaptive-surface-2,#edf4fb)) !important;
    color: var(--vmesta-ui-text,var(--adaptive-text-primary,#173f73)) !important;
  }
  html:root body .mobile-profile-quick-menu {
    max-height: calc(100dvh - var(--vmesta-mobile-header-height,3.55rem) - 1rem) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  /* Rounded, inset compact player in the mobile drawer/header. */
  html:root body .global-music-panel {
    max-width: calc(100% - .5rem) !important;
    margin-inline: .25rem !important;
    border-radius: .85rem !important;
    clip-path: inset(0 round .85rem) !important;
  }

  /* Message action menu starts on the same baseline as the three-dot trigger. */
  html:root body.mobile-chat-open .messenger-conversation-actions > .messenger-chat-menu:not(.is-row-menu) {
    top: 0 !important;
    right: calc(100% + .35rem) !important;
    bottom: auto !important;
  }
}

/* Consolidated source: v119-fixes.css */
/* ------------[Файл «v119-fixes.css»]------------ // Содержит исходный код модуля «оформление интерфейса» и его связанные обработчики. Модуль: «карта исходного кода». Часть 1/1 */
/* VMESTA v130 — stable viewport, compact media controls and profile editors. */

/* v124: compact bounded menus and stable left-rail geometry. */
html:root body .vmesta-video-player:not(.is-playback-activated) .vmesta-video-range { pointer-events: none !important; }
html:root body #profile-left-rail #friends-list-container {
  display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important;
  justify-content: flex-start !important; gap: .2rem !important; padding: .3rem .35rem !important;
}

/* v226: polishing pass for the current mobile profile without changing desktop. */
@media (max-width:767px) {
  html:root body #profile-left-rail {
    -ms-overflow-style:none!important;
    scrollbar-width:none!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch;
  }
  html:root body #profile-left-rail::-webkit-scrollbar { display:none!important;width:0!important;height:0!important; }
  html:root body.mobile-profile-main-route .mobile-profile-presence-dot.is-online::after {
    position:absolute;inset:-.2rem;border:1px solid rgb(32 200 120/.58);border-radius:50%;content:"";
    animation:vmesta-mobile-presence-pulse 1.8s ease-out infinite;pointer-events:none;
  }
  html:root body.mobile-profile-main-route.profile-editor-route #cover-action-stack { z-index:35!important;pointer-events:auto!important; }

  html:root body.mobile-profile-main-route .mobile-profile-actions-slot #friend-action-btn svg {
    overflow:visible!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  }

  html:root body.spaces-catalog-route .spaces-top-limits { margin-bottom:.8rem!important;padding-bottom:.12rem!important; }

  html:root body .gift-center-dialog {
    background:var(--theme-surface-panel,var(--adaptive-surface,#fff))!important;
  }
  html:root body .gift-center-content {
    background:color-mix(in srgb,var(--color-dynamic,#3775ca) 4%,var(--theme-surface-panel,var(--adaptive-surface,#fff)))!important;
  }
  html:root body .gift-center-tabs {
    border:0!important;background:color-mix(in srgb,var(--color-dynamic,#3775ca) 5%,var(--theme-surface-panel,var(--adaptive-surface,#fff)))!important;
  }
  html:root body .gift-center-tabs button {
    border:0!important;background:color-mix(in srgb,var(--color-dynamic,#3775ca) 9%,var(--theme-surface-panel,var(--adaptive-surface,#fff)))!important;
    color:var(--theme-text-secondary,var(--adaptive-text-muted,#64748b))!important;box-shadow:none!important;
  }
  html:root body .gift-center-tabs button:is(.is-active,[aria-selected="true"]) {
    background:var(--color-dynamic,#3775ca)!important;color:#fff!important;box-shadow:0 .48rem 1.1rem color-mix(in srgb,var(--color-dynamic,#3775ca) 22%,transparent)!important;
  }
  html:root body .gift-history-list { gap:.72rem!important; }
  html:root body .gift-history-item {
    border:0!important;border-radius:1rem!important;padding:.72rem!important;
    background:var(--theme-surface-panel,var(--adaptive-surface,#fff))!important;
    box-shadow:0 .4rem 1.2rem rgb(8 24 52/.08)!important;
  }
  html:root body .gift-history-art {
    background:color-mix(in srgb,var(--color-dynamic,#3775ca) 8%,var(--theme-surface-nested,#edf4fb))!important;
  }

  html:root body .vmesta-track-cover-art {
    position:relative;display:grid;width:3rem;height:3rem;min-width:3rem;overflow:hidden;place-items:center;border-radius:.8rem;
    background:linear-gradient(145deg,color-mix(in srgb,var(--color-dynamic,#3775ca) 18%,var(--theme-surface-control,#e8eff8)),var(--theme-surface-nested,#edf4fb));
    color:var(--color-dynamic,#3775ca);
  }
  html:root body .vmesta-track-cover-art svg { width:1.28rem;height:1.28rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
  html:root body .vmesta-track-player.is-cover-ready .vmesta-track-cover-art {
    background:linear-gradient(rgb(3 10 22/.08),rgb(3 10 22/.18)),var(--vmesta-track-cover) center/cover no-repeat;
    color:#fff;text-shadow:0 1px 3px rgb(0 0 0/.65);
  }
  html:root body .vmesta-track-body { align-items:center!important; }
}
@keyframes vmesta-mobile-presence-pulse {
  0% { opacity:.78;transform:scale(.72); }
  72%,100% { opacity:0;transform:scale(1.72); }
}
@media (prefers-reduced-motion:reduce) {
  html:root body .mobile-profile-presence-dot.is-online::after { animation:none!important; }
}
html:root body #profile-left-rail #friends-list-container > :is(button,.space-subscriber-thumb,.profile-friend-avatar-skeleton) {
  flex: 0 0 calc((100% - .8rem) / 5) !important; width: calc((100% - .8rem) / 5) !important;
  min-width: 0 !important; height: auto !important; max-width: none !important; margin: 0 !important;
}
html:root body #profile-left-rail #friends-list-container .space-subscriber-thumb > button { width: 100% !important; }
html:root body #profile-left-rail #friends-list-container :is(button > img,.profile-friend-avatar-skeleton) {
  display: block !important; width: 100% !important; height: auto !important;
  aspect-ratio: 1 !important; max-width: none !important; object-fit: cover !important;
  border-radius: .7rem !important; border: 2px solid color-mix(in srgb,var(--color-dynamic,#3775ca) 40%,transparent) !important;
}
html:root body.space-route #profile-avatar-card > #space-safety-menu > .profile-safety-trigger {
  width: 2.2rem !important; height: 2.2rem !important; border-radius: .7rem !important;
}
html:root body .post-composer-attach-menu {
  position: fixed !important; z-index: 30100 !important; inset: auto !important;
  top: var(--post-attachment-top,8px) !important; left: var(--post-attachment-left,8px) !important;
  width: min(23rem,calc(100vw - 1rem)) !important; max-height: calc(100dvh - 1rem) !important;
  display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows: minmax(4.1rem,auto) !important; gap: .3rem !important; padding: .5rem !important;
  margin: 0 !important; overflow-y: auto !important; border: 0 !important; box-shadow: none !important;
  border-radius: 1rem !important; background: var(--theme-surface-panel,var(--vmesta-ui-panel,#fff)) !important;
}
html:root body .post-composer-attach-menu.hidden { display: none !important; }
html:root body .post-composer-attach-menu > button {
  display: flex !important; flex-direction: row !important; justify-content: flex-start !important;
  align-items: center !important; gap: .65rem !important; min-height: 3rem !important;
  min-width: 0 !important; padding: .4rem .2rem !important; text-align: center !important;
  color: var(--theme-text-primary,var(--vmesta-ui-ink,#173f73)) !important;
  background: transparent !important;
}
html:root body .post-composer-attach-icon { width: 2rem !important; height: 2rem !important; }
html:root body .post-composer-attach-menu strong { font-size: .82rem !important; }
html:root body .messenger-chat-menu {
  position: fixed !important; z-index: 1210 !important;
  top: var(--messenger-menu-top,5rem) !important; left: var(--messenger-menu-left,8px) !important;
  right: auto !important; bottom: auto !important; width: min(18rem,calc(100vw - 1rem)) !important;
  max-height: min(72dvh,34rem) !important; overflow-y: auto !important; margin: 0 !important;
  transform: none !important; border: 0 !important; border-radius: 1rem !important;
  background: var(--msg-menu-surface,var(--theme-surface-panel,#fff)) !important;
}
html:root body.mobile-chat-open .messenger-conversation-actions > .messenger-chat-menu:not(.is-row-menu),
html:root body.messages-route .messenger-chat-menu.is-row-menu {
  position: fixed !important; z-index: 1210 !important;
  top: var(--messenger-menu-top,5rem) !important; left: var(--messenger-menu-left,8px) !important;
  right: auto !important; bottom: auto !important; width: min(18rem,calc(100vw - 1rem)) !important;
  max-height: min(72dvh,34rem) !important; overflow-y: auto !important; transform: none !important;
  box-shadow: none !important;
}
html:root body .messenger-call-choice-popover {
  position: fixed !important; z-index: 1210 !important; inset: auto !important;
  top: var(--messenger-call-top,5rem) !important; left: var(--messenger-call-left,8px) !important;
  width: min(12rem,calc(100vw - 1rem)) !important; padding: .4rem !important;
  border: 0 !important; border-radius: .9rem !important; box-shadow: none !important;
  background: var(--theme-surface-control,var(--vmesta-ui-soft,#edf4fb)) !important;
}
html:root body .messenger-call-choice-popover > button {
  min-height: 2.7rem !important; font-size: .8rem !important;
  color: var(--theme-text-primary,var(--msg-text,#173f73)) !important;
}
html:root body .profile-music-library { padding: 1rem; background: var(--theme-surface-panel,#fff); border-radius: 1rem; }
html:root body .profile-music-library > header { display: flex; gap: .6rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
html:root body .profile-music-library h2 { font-size: 1.1rem; font-weight: 800; }
html:root body .profile-music-library :is(p,header > span) { color: var(--theme-text-secondary,#64748b); font-size: .8rem; }
html:root body .profile-music-tracks { display: grid; gap: .65rem; }
html:root body .profile-music-library button:not(.vmesta-track-play):not(.vmesta-track-download):not(.vmesta-track-volume-trigger) { touch-action: manipulation; }
html:root body .profile-music-library > button { margin-top: .8rem; padding: .6rem .9rem; border-radius: .7rem; background: var(--theme-surface-control,#e8eff8); }
html:root body .space-rating-admin-dialog { display: flex !important; flex-direction: column !important; min-height: 0 !important; }
html:root body .space-rating-admin-dialog > header { flex: 0 0 auto !important; }
html:root body .space-rating-admin-body { flex: 1 1 auto !important; min-height: 0 !important; overflow-y: auto !important; touch-action: pan-y !important; padding-bottom: calc(1rem + env(safe-area-inset-bottom,0px)) !important; }
html:root body .space-rating-admin-modal :is(section,article,header,p b) { border: 0 !important; box-shadow: none !important; }
@media (min-width: 768px) {
  html:root body #profile-left-rail #profile-avatar-card > div:first-child,
  html:root body #profile-left-rail #profile-avatar-card > div:first-child :is(#profile-avatar-container,img) {
    border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important;
  }
}

/* v228: notification/profile/message polish. */
html:root body.mobile-profile-main-route .mobile-profile-online .online-dot.is-online,
html:root body.mobile-profile-main-route .mobile-profile-online .user-online-dot.is-online,
html:root body.space-route #user-online-status .online-dot.is-online {
  position:relative!important;overflow:visible!important;isolation:isolate;
}
html:root body.mobile-profile-main-route .mobile-profile-online .online-dot.is-online::after,
html:root body.mobile-profile-main-route .mobile-profile-online .user-online-dot.is-online::after,
html:root body.space-route #user-online-status .online-dot.is-online::after {
  content:"";position:absolute;inset:-.28rem;border-radius:999px;border:2px solid color-mix(in srgb,#21d47b 70%,transparent);
  animation:vmesta-online-pulse-v228 1.8s ease-out infinite;pointer-events:none;z-index:-1;
}
@keyframes vmesta-online-pulse-v228 { 0%{transform:scale(.65);opacity:.9} 70%,100%{transform:scale(1.75);opacity:0} }

@media(max-width:700px){
  html:root body.messages-route #messenger-delete-confirm { align-items:flex-end!important;padding:max(.5rem,env(safe-area-inset-top)) .55rem calc(.55rem + env(safe-area-inset-bottom))!important; }
  html:root body.messages-route #messenger-delete-confirm > section {
    width:100%!important;max-width:31rem!important;max-height:min(72dvh,32rem)!important;overflow:auto!important;
    padding:.9rem!important;border-radius:1.35rem!important;
  }
  html:root body.messages-route #messenger-delete-confirm .messenger-delete-choices { gap:.4rem!important; }
  html:root body.messages-route #messenger-delete-confirm .messenger-delete-selection-note { margin:.45rem 0 0!important;font-size:.68rem!important; }

  html:root body.messages-route #messages-root .messenger-photo-grid.is-count-1,
  html:root body.messages-route #messages-root .messenger-video-grid:has(> :only-child) {
    width:min(19rem,76vw)!important;max-width:100%!important;justify-self:auto!important;
  }
  html:root body.messages-route #messages-root .messenger-photo-grid.is-count-1 > button,
  html:root body.messages-route #messages-root .messenger-video-grid:has(> :only-child) > * {
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  html:root body.messages-route #messages-root .messenger-photo-grid.is-count-1 img,
  html:root body.messages-route #messages-root .messenger-video-grid:has(> :only-child) video {
    display:block!important;width:100%!important;max-height:min(52dvh,27rem)!important;object-fit:contain!important;background:rgb(8 16 30/.08);
  }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-note {
    display:block!important;position:relative!important;z-index:7!important;margin:.55rem 0 0!important;padding:0 1rem!important;
  }
}
@media (max-width: 767px) {
  /* Don't recomposite a live decorative canvas through several large blurs
     while flex tabs and drawers animate. Surfaces remain themed and opaque. */
  html:root body :is(.mobile-bottom-navigation,.mobile-drawer-backdrop,.mobile-drawer-header,.mobile-achievements-header,.messenger-message-menu-backdrop,.space-rating-admin-backdrop,#settings-dropdown,#search-dropdown) {
    backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  }
  html:root body .mobile-bottom-navigation { background: var(--theme-surface-panel,var(--vmesta-ui-panel,#fff)) !important; }
  html:root body .space-rating-admin-dialog { width: 100% !important; max-height: calc(100dvh - 1rem) !important; height: calc(100dvh - 1rem) !important; }
  html:root body .space-rating-admin-modal { align-items: end !important; }
  html:root body .mobile-nav-preference-row { gap: .75rem !important; color: var(--theme-text-primary,var(--vmesta-ui-ink,#fff)) !important; }
  html:root body .mobile-nav-preference-row > span { flex: 1 1 auto; min-width: 0; }
  html:root body .mobile-nav-preference-row b { font-size: .8rem !important; }
  html:root body .mobile-nav-preference-row small { font-size: .65rem !important; }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) { position: relative; cursor: pointer; }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > input {
    position: absolute !important; width: 1px !important; height: 1px !important;
    opacity: 0 !important; clip-path: inset(50%) !important; overflow: hidden !important;
  }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > i {
    display: block !important; flex: 0 0 2.8rem; width: 2.8rem !important; height: 1.55rem !important;
    border-radius: 999px; background: var(--theme-surface-control,#475569); transition: background-color .16s ease;
  }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > i::after {
    content: ''; display: block; width: 1.25rem; height: 1.25rem; margin: .15rem;
    background: #fff; border-radius: 50%; transform: translateX(0); transition: transform .16s ease;
  }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > input:checked + i { background: var(--vmesta-ui-primary,var(--color-dynamic,#249653)); }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > input:checked + i::after { transform: translateX(1.25rem); }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > input:focus-visible + i { outline: 2px solid var(--color-dynamic,#249653); outline-offset: 3px; }
}

/* A card timeline is inert until Play selects that exact track. This prevents
   vertical mobile swipes from grabbing the range thumb. */
html:root body .vmesta-track-player:not(.is-track-active) .vmesta-track-wave svg {
  opacity: 0 !important;
  pointer-events: none !important;
}
html:root body .vmesta-track-player .vmesta-track-wave svg {
  transition: opacity .16s ease;
}
html:root body .vmesta-track-player .vmesta-track-wave input:disabled {
  cursor: default !important;
  pointer-events: none !important;
  touch-action: pan-y !important;
}
html:root body .vmesta-track-player.is-track-active .vmesta-track-wave input:not(:disabled) {
  pointer-events: auto !important;
  touch-action: none !important;
}
html:root body .vmesta-track-play {
  touch-action: manipulation !important;
}

/* There is one search in the picker header. The legacy nested search is
   hidden as a defensive fallback for cached/dynamically restored markup. */
html:root body .emoji-picker-sticker-view > .emoji-sticker-search-wrap {
  display: none !important;
}

/* The reset control is an actual close button now. */
html:root body .global-music-inline-close svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}

@media (max-width: 767px) {
  html:root body .vmesta-track-player:not(.is-track-active) .vmesta-track-timeline {
    touch-action: pan-y !important;
  }
}

/* Theme-colour consistency in the profile drawer. */
html:root body #profile-left-rail .profile-sidebar-navigation > .nav-item > svg,
html:root body #profile-left-rail .profile-sidebar-more-toggle svg,
html:root body #profile-left-rail .profile-sidebar-more-menu > button > svg {
  color: var(--vmesta-ui-primary, var(--color-dynamic, #2583ff)) !important;
}
html:root body #profile-left-rail .profile-sidebar-more-menu {
  background: color-mix(in srgb, var(--vmesta-ui-primary, #2583ff) 8%, var(--vmesta-ui-panel, #fff)) !important;
  border-radius: 0 !important;
}
html:root body #profile-left-rail .profile-sidebar-more-menu > button {
  background: color-mix(in srgb, var(--vmesta-ui-primary, #2583ff) 6%, var(--vmesta-ui-panel, #fff)) !important;
  color: var(--theme-text-primary, var(--vmesta-ui-ink, #173f73)) !important;
}
html:root body #profile-left-rail .profile-sidebar-more-menu > button small {
  color: var(--vmesta-ui-muted, var(--adaptive-text-muted, #64748b)) !important;
}

/* Friend previews stay grouped; the outer padding provides breathing room. */
html:root body #friends-list-container {
  justify-content: flex-start !important;
  gap: .2rem !important;
  padding-inline: .35rem !important;
}

.friend-family-menu-action {
  display: grid;
  width: 100%;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  padding: .72rem .82rem;
  border: 0;
  background: transparent;
  color: var(--vmesta-ui-text, var(--adaptive-text-primary, #173f73));
  text-align: left;
}
.friend-family-menu-action:hover { background: color-mix(in srgb, var(--vmesta-ui-primary, #2583ff) 9%, transparent); }
.friend-family-menu-action svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: var(--vmesta-ui-primary, #2583ff); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.friend-family-menu-action span { display: grid; gap: .08rem; }
.friend-family-menu-action strong { font-size: .7rem; }
.friend-family-menu-action small { color: var(--vmesta-ui-muted, #64748b); font-size: .52rem; }

/* Album art uses guaranteed readable copy, including covers discovered after
   the initial chat/feed paint. */
html:root body .vmesta-track-player.is-cover-ready :is(.vmesta-track-head strong,.vmesta-track-head span,.vmesta-track-meta,.vmesta-track-time,.vmesta-track-footer small),
html:root body .global-music-panel.has-track-cover :is(.global-music-title,.global-music-footer small,.global-music-footer time) {
  color: #fff !important;
  text-shadow: 0 1px 3px rgb(0 0 0 / .78) !important;
}
html:root body .vmesta-track-player.is-cover-ready {
  background: linear-gradient(90deg, rgb(4 10 20 / .62), rgb(4 10 20 / .25)), var(--vmesta-track-cover) center / cover no-repeat !important;
}
html:root body #global-music-panel.has-track-cover {
  background: linear-gradient(90deg, rgb(4 10 20 / .65), rgb(4 10 20 / .35)), var(--global-track-cover) center / cover no-repeat !important;
}
html:root body .vmesta-track-player.is-cover-ready::before,
html:root body .vmesta-track-player.is-cover-ready::after,
html:root body #global-music-panel.has-track-cover::before,
html:root body #global-music-panel.has-track-cover::after {
  background: none !important;
  pointer-events: none !important;
}

/* The desktop header player keeps fixed control columns and cannot collapse
   the title/wave under the close button. */
@media (min-width: 768px) {
  html:root body .site-brand-player .global-music-dock { left: calc(100% + 1.35rem) !important; }
  html:root body .site-brand-player .global-music-panel {
    width: clamp(15rem, 19vw, 18rem) !important;
    min-width: 15rem !important;
    grid-template-columns: 2rem minmax(3.5rem, 1fr) auto 1.45rem !important;
    gap: .3rem !important;
    padding: .22rem .3rem !important;
    border-radius: .72rem !important;
  }
  html:root body .site-brand-player .global-music-inline-close { width: 1.45rem !important; height: 1.8rem !important; }
}

/* Keep the close at the far edge. Only Play has a filled button surface. */
html:root body #global-music-panel { grid-template-columns: 2rem minmax(3.5rem,1fr) auto 1.45rem !important; }
html:root body #global-music-panel > #global-music-play { grid-column: 1 !important; grid-row: 1 !important; color: #fff !important; }
html:root body #global-music-panel > #global-music-play :is(svg,path) { color: #fff !important; fill: currentColor !important; stroke: none !important; }
html:root body #global-music-panel > .global-music-timeline { grid-column: 2 !important; grid-row: 1 !important; min-width: 0 !important; }
html:root body #global-music-panel .global-music-title { font-size: .68rem !important; line-height: 1.15 !important; }
html:root body #global-music-panel .global-music-footer :is(small,time,span) { font-size: .52rem !important; line-height: 1.2 !important; }
html:root body #global-music-panel > .global-music-controls { grid-column: 3 !important; grid-row: 1 !important; gap: .12rem !important; }
html:root body #global-music-panel > .global-music-inline-close { grid-column: 4 !important; grid-row: 1 !important; }
html:root body #global-music-panel :is(#global-music-previous,#global-music-next,#global-music-volume,.global-music-inline-close) {
  display: grid !important; place-items: center !important; flex: 0 0 auto !important;
  width: 1.55rem !important; min-width: 0 !important; height: 2rem !important; padding: .2rem !important;
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  color: var(--theme-text-primary,#173f73) !important; opacity: .9 !important;
}
html:root body #global-music-panel.has-track-cover :is(#global-music-previous,#global-music-next,#global-music-volume,.global-music-inline-close) { color: #fff !important; }
html:root body #global-music-panel :is(#global-music-previous,#global-music-next) :is(svg,path) { color: inherit !important; fill: currentColor !important; stroke: currentColor !important; }
html:root body #global-music-panel #global-music-volume :is(svg,path) { color: inherit !important; fill: none !important; stroke: currentColor !important; }
html:root body #global-music-panel .global-music-inline-close { width: 1.45rem !important; }
html:root body #global-music-panel :is(#global-music-previous,#global-music-next,#global-music-volume) svg { width: 1.05rem !important; height: 1.05rem !important; }
html:root body #global-music-panel .global-music-inline-close svg { width: .85rem !important; height: .85rem !important; }
html:root body #global-music-panel :is(#global-music-previous,#global-music-next,#global-music-volume,.global-music-inline-close):focus-visible { outline: 2px solid #fff !important; outline-offset: -2px !important; }

/* Child labels previously retained their hard-coded blue in night mode. */
html:root body #profile-left-rail .profile-sidebar-more-menu > button :is(span,strong) { color: var(--theme-text-primary, var(--vmesta-ui-ink,#173f73)) !important; }
html:root body #profile-left-rail .profile-sidebar-more-menu > button small { color: var(--theme-text-muted,#64748b) !important; }
html:root body #profile-left-rail .profile-sidebar-more-menu,
html:root body #profile-left-rail .profile-sidebar-more-menu > button { background: var(--theme-surface-nested,var(--vmesta-ui-soft,#edf4fb)) !important; }

/* Keep both edit controls inside the scrollable rail's clipping boundary. */
html:root body #profile-avatar-card .avatar-edit-corner { right: .2rem !important; bottom: .2rem !important; }
html:root body #profile-sidebar-customize-button { right: .2rem !important; }
html:root body #profile-left-rail .profile-sidebar-navigation-frame > .profile-sidebar-navigation-head { top: .2rem !important; right: .2rem !important; }
html:root body #profile-avatar-card > :is(#profile-safety-menu,#space-safety-menu) {
  position: absolute !important; top: .45rem !important; right: .45rem !important; left: auto !important; bottom: auto !important;
  z-index: 90 !important;
}
html:root body #profile-avatar-card > :is(#profile-safety-menu,#space-safety-menu) > .profile-safety-trigger {
  display: grid !important; place-items: center !important; width: 2.2rem !important; height: 2.2rem !important;
  min-width: 2.2rem !important; opacity: 1 !important; transform: none !important;
}
html:root body > :is(#profile-safety-dropdown,#space-safety-dropdown) {
  z-index: 30060 !important; width: min(17rem,calc(100vw - 1rem)) !important;
  max-height: calc(100dvh - 1rem) !important; overflow-y: auto !important;
  background: var(--theme-surface-panel,#fff) !important; color: var(--theme-text-primary,#173f73) !important;
}
html:root body #profile-safety-dropdown > #profile-admin-actions-button.hidden,
html:root body :is(#profile-safety-menu,#space-safety-menu,#profile-safety-dropdown,#space-safety-dropdown).hidden { display: none !important; }
html:root body #global-music-dock #global-music-panel .global-music-inline-close { width: 1.45rem !important; height: 1.65rem !important; }
html:root body > .friend-dropdown.is-friend-menu-ported {
  z-index: 30060 !important; width: min(17rem,calc(100vw - 1rem)) !important; max-height: calc(100dvh - 1rem) !important;
  padding: .3rem !important; overflow-y: auto !important; border-radius: 1rem !important;
  background: var(--theme-surface-panel,#fff) !important; color: var(--theme-text-primary,#173f73) !important;
  box-shadow: 0 .7rem 2rem rgb(0 0 0 / .24) !important;
}
html:root body > .friend-dropdown.is-friend-menu-ported > button {
  display: flex !important; width: 100% !important; align-items: center !important; gap: .65rem !important;
  min-height: 3rem !important; padding: .65rem !important; text-align: left !important; border-radius: .7rem !important;
  background: transparent !important; color: var(--theme-text-primary,#173f73) !important;
}
html:root body > .friend-dropdown.is-friend-menu-ported > button:last-child { color: var(--theme-danger,#e54b5a) !important; }
html:root body > .friend-dropdown.is-friend-menu-ported > button:hover { background: var(--theme-surface-active,#edf4fb) !important; }
html:root body > .friend-dropdown.is-friend-menu-ported svg { flex: 0 0 1.2rem; width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 2; }
html:root body > .friend-dropdown.is-friend-menu-ported span { display: grid; gap: .12rem; }
html:root body > .friend-dropdown.is-friend-menu-ported strong { font-size: .78rem; }
html:root body > .friend-dropdown.is-friend-menu-ported small { color: var(--theme-text-muted,#64748b); font-size: .65rem; }

/* Security dialogs must be above the settings editor, not merely above page content. */
html:root body > .cover-security-modal:not(.hidden) {
  position: fixed !important; inset: 0 !important; z-index: 30100 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: max(.5rem,env(safe-area-inset-top)) .5rem max(.5rem,env(safe-area-inset-bottom)) !important;
  height: 100dvh !important; overflow-y: auto !important;
}
html:root body > .cover-security-modal .cover-security-dialog {
  position: relative !important; max-width: calc(100vw - 1rem) !important; max-height: calc(100dvh - 1rem) !important;
  display: flex !important; flex-direction: column !important; overflow: hidden !important;
}
html:root body > .cover-security-modal .cover-security-dialog-body { min-height: 0 !important; overflow-y: auto !important; }
html:root body > .cover-security-modal :is(.cover-security-dialog-header,.cover-security-dialog-actions) { flex-shrink: 0 !important; }
html:root body.cover-security-modal-open :is(.mobile-bottom-navigation,.mobile-achievements-peek) { visibility: hidden !important; pointer-events: none !important; }

/* Notification title belongs to the back control instead of floating in the
   centre of the desktop popover. */
html:root body #notifications-dropdown .notifications-dropdown-head {
  display: grid !important;
  grid-template-columns: 2rem minmax(0, 1fr) auto !important;
  justify-content: initial !important;
  gap: .45rem !important;
}
html:root body #notifications-dropdown .notifications-dropdown-head > div:nth-child(2) { text-align: left !important; }

/* Post viewer: the complete panel rises from below after its first frame is
   prepared, avoiding the previous scale/position flash. */
html:root body #post-viewer-panel {
  transition: transform .32s cubic-bezier(.2,.78,.25,1), opacity .22s ease !important;
  will-change: transform, opacity;
}
html:root body #post-viewer#post-viewer { transition: opacity .2s ease !important; }
html:root body #post-viewer-panel.is-post-viewer-entering { transform: none !important; }
html:root body #post-viewer.is-post-viewer-open #post-viewer-panel { transform: translateY(0) scale(1) !important; }

/* Blocks use surfaces, never outlines. Only the individual avatar photos
   retain their slightly stronger profile-photo frame. */
html:root body #profile-left-rail #profile-friends-open-button#profile-friends-open-button,
html:root body #friends-list-container {
  border: 0 !important; outline: 0 !important; box-shadow: none !important;
  background: var(--theme-surface-panel, #fff) !important;
  border-radius: 1rem !important;
}
html:root body #friends-list-container { padding: .4rem .6rem !important; }
html:root body #friends-list-container :is(button > img, .profile-friend-avatar-skeleton) {
  border: 2px solid color-mix(in srgb, var(--color-dynamic, #3775ca) 40%, transparent) !important;
}
html:root body #post-viewer#post-viewer #post-viewer-panel#post-viewer-panel,
html:root body :is(.post-item,.space-post,.profile-post-card,.publication-card,.post-card,[data-post-card]) {
  border: 0 !important; outline: 0 !important; box-shadow: none !important;
}
html:root body #signals-journal .signals-grid { min-height: 24rem; overflow-anchor: none; }
html:root body #signals-journal :is(.signal-card,.signals-empty) { animation: none !important; }
html:root body .signals-scope-tabs > button > span { display: inline !important; color: inherit !important; }
html:root body :is(#global-search-sections-button,.global-search-sections-close) { display: none; }
html:root body > .emoji-picker.emoji-picker-fallback { position: fixed !important; bottom: auto !important; }

@media (max-width: 767px) {
  html:root body #settings-dropdown {
    position: fixed !important; top: calc(var(--vmesta-mobile-header-total, 4rem) + .4rem) !important;
    left: .5rem !important; right: auto !important; margin: 0 !important;
    max-height: calc(100dvh - var(--vmesta-mobile-header-total, 4rem) - 1rem) !important;
    overflow-y: auto !important; z-index: 30080 !important;
  }
  html:root body #global-search-modal .global-search-head { grid-template-columns: auto minmax(0,1fr) auto auto !important; }
  html:root body #global-search-sections-button,
  html:root body .global-search-sections-close {
    display: grid !important; place-items: center; width: 2.5rem; height: 2.5rem;
    border-radius: .8rem; color: var(--theme-text-primary); background: var(--theme-surface-control);
  }
  html:root body #global-search-modal .global-search-side#global-search-sections {
    display: none !important; position: absolute !important; z-index: 20; top: 4.6rem; bottom: .5rem;
    right: .5rem; width: min(19rem, calc(100vw - 1rem)) !important; padding: .8rem;
    grid-template-columns: minmax(0,1fr) !important; align-content: start; overflow-y: auto;
    border: 0 !important; border-radius: 1rem;
    background: var(--theme-surface-panel) !important;
  }
  html:root body #global-search-modal.is-sections-open .global-search-side#global-search-sections { display: grid !important; }
  html:root body .global-search-sections-close { justify-self: end; }
  html:root body .emoji-picker.emoji-picker-expanded:not(.hidden) {
    position: fixed !important; inset: auto !important; top: var(--mobile-emoji-top) !important;
    left: 0 !important; right: 0 !important; bottom: auto !important;
    width: 100vw !important; max-width: none !important; height: var(--mobile-emoji-height, 18rem) !important;
    max-height: var(--mobile-emoji-height, 18rem) !important; margin: 0 !important;
    transform: none !important; animation: vmesta-emoji-reveal .18s ease !important; border-radius: 1rem 1rem 0 0 !important;
  }
  html:root body .emoji-picker.emoji-picker-expanded.is-emoji-closing:not(.hidden) { opacity: 0 !important; animation: none !important; transition: opacity .15s ease !important; pointer-events: none !important; }
  html:root body .emoji-picker-arrow { display: none !important; }
  html:root body.mobile-input-surface-open .messenger-composer { padding-bottom: calc(var(--mobile-emoji-height, 18rem) + .5rem) !important; }
  html:root body .has-mobile-emoji-sheet { scroll-margin-bottom: calc(var(--mobile-emoji-height, 18rem) + 4rem); }
  html:root body #post-viewer#post-viewer.is-discussion-mode {
    align-items: flex-start !important; padding: .4rem !important;
    top: var(--mobile-visible-top, 0px) !important; bottom: auto !important;
    height: var(--mobile-visible-height, 100dvh) !important;
  }
  html:root body #post-viewer#post-viewer.is-discussion-mode #post-viewer-panel#post-viewer-panel {
    height: calc(var(--mobile-visible-height, 100dvh) - .8rem) !important;
    max-height: calc(var(--mobile-visible-height, 100dvh) - .8rem) !important;
    transform: none !important; transition: opacity .15s ease !important;
  }
  html:root body.mobile-viewer-emoji-open #post-viewer#post-viewer.is-discussion-mode #post-viewer-panel#post-viewer-panel {
    height: calc(var(--mobile-visible-height, 100dvh) - var(--mobile-emoji-height, 18rem) - .8rem) !important;
    max-height: calc(var(--mobile-visible-height, 100dvh) - var(--mobile-emoji-height, 18rem) - .8rem) !important;
  }
  html:root body #post-viewer#post-viewer.is-discussion-mode #viewer-media-container[data-media-count] { flex-basis: min(calc(var(--mobile-visible-height, 100dvh) * .25), 17rem) !important; }
  html:root body.mobile-viewer-emoji-open #post-viewer#post-viewer.is-discussion-mode #viewer-media-container[data-media-count] { flex-basis: min(calc(var(--mobile-visible-height, 100dvh) * .15), 7rem) !important; }
  html:root body #viewer-form-container { padding: .5rem !important; }
}

/* v123: use surfaces for groups; frame only the individual photograph. */
html:root body :is(#profile-left-rail,#profile-right-rail,#global-search-modal,#signals-journal,#settings-dropdown,#tab-space,#cover-animation-panel)
  :is(section,article,nav,[class*="-panel"],[class*="-card"]) {
  border: 0 !important; outline: 0 !important; box-shadow: none !important;
}
html:root body #profile-left-rail #profile-avatar-card > div:first-child {
  border: 3px solid color-mix(in srgb,var(--color-dynamic,#3775ca) 45%,transparent) !important;
  box-shadow: none !important;
}
html:root body.space-route #profile-avatar-card > #space-safety-menu {
  left: auto !important; right: .45rem !important; top: .45rem !important;
}
html:root body #profile-avatar-card > :is(#profile-safety-menu,#space-safety-menu) > .profile-safety-trigger {
  border-radius: .7rem !important;
}
html:root body .spaces-index-scope > button > i { display: none; }
html:root body .spaces-index-scope > button > strong { font-size: inherit; font-weight: inherit; }
@media (min-width: 768px) {
  html:root body:not(.space-route) #profile-left-rail #profile-sidebar-shell > #profile-avatar-card { margin-bottom: 0 !important; }
  html:root body:not(.space-route) #profile-left-rail #profile-avatar-card > div:first-child { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
  html:root body:not(.space-route) #profile-left-rail #profile-sidebar-shell > div:has(> #profile-friends-open-button) { margin-top: 0 !important; background: var(--theme-surface-panel,#fff) !important; border-radius: 0 0 1rem 1rem !important; }
  html:root body:not(.space-route) #profile-left-rail #profile-friends-open-button#profile-friends-open-button { margin-top: 0 !important; border-radius: 0 0 1rem 1rem !important; }
}
@media (max-width: 767px) {
  html:root body #btn-to-top { display: none !important; }
  html:root body #profile-left-rail #profile-friends-open-button#profile-friends-open-button,
  html:root body #profile-left-rail #friends-list-container {
    background: color-mix(in srgb,var(--vmesta-ui-primary,var(--color-dynamic,#249653)) 9%,var(--theme-surface-panel,#fff)) !important;
  }
  /* The mobile utility's old background shorthand erased the artwork. */
  html:root body #profile-left-rail #mobile-drawer-utility #global-music-panel.has-track-cover {
    background: linear-gradient(90deg,rgb(4 10 20 / .65),rgb(4 10 20 / .35)),var(--global-track-cover) center / cover no-repeat !important;
  }
  html:root body.mobile-quick-search-open #site-header .search-wrapper > .relative.group {
    flex: 1 1 100% !important; width: 100% !important; max-width: none !important;
  }
  html:root body.mobile-quick-search-open #site-header #global-search,
  html:root body.mobile-quick-search-open #site-header #global-search:focus {
    width: 100% !important; min-width: 0 !important; max-width: none !important; transition: background-color .18s ease !important;
  }
  html:root body.mobile-quick-search-open #search-dropdown {
    top: calc(var(--vmesta-mobile-header-total,4rem) + 3.9rem) !important;
    bottom: auto !important; left: .42rem !important; right: .42rem !important; width: auto !important;
    max-height: max(6rem,calc(var(--mobile-visible-height,100dvh) - var(--vmesta-mobile-header-total,4rem) - 4.5rem)) !important;
    overflow-y: auto !important;
  }
  html:root body.mobile-keyboard-open :is(.mobile-bottom-navigation,.mobile-achievements-peek) { visibility: hidden !important; pointer-events: none !important; }
  html:root body #global-search-modal .global-search-dialog {
    height: var(--mobile-visible-height,100dvh) !important; max-height: var(--mobile-visible-height,100dvh) !important;
  }
  html:root body #profile-tabs-container .tab-btn,
  html:root body #profile-tabs-container .profile-tab-label {
    transition: flex-grow .24s ease,max-width .24s ease,opacity .16s ease,background-color .18s ease,color .18s ease !important;
    box-shadow: none !important;
  }
  html:root body :is(.signals-scope-tabs,.spaces-index-scope,.level-settings-tools > nav) {
    display: flex !important; width: 100% !important; min-width: 0 !important; gap: .15rem !important;
    padding: .3rem !important; overflow: hidden !important; border: 0 !important; outline: 0 !important; box-shadow: none !important;
    background: var(--theme-surface-control,var(--vmesta-ui-soft,#edf4fb)) !important; border-radius: 1rem !important;
  }
  html:root body :is(.signals-scope-tabs,.spaces-index-scope,.level-settings-tools > nav) > button {
    display: flex !important; align-items: center !important; justify-content: center !important;
    flex: 1 1 0 !important; width: 0 !important; min-width: 1.9rem !important; min-height: 2.6rem !important;
    padding: .3rem !important; gap: 0 !important; border: 0 !important; box-shadow: none !important;
    overflow: hidden !important; border-radius: .8rem !important; background: transparent !important;
    transition: flex-grow .24s ease,background-color .18s ease,color .18s ease !important;
  }
  html:root body :is(.signals-scope-tabs,.spaces-index-scope,.level-settings-tools > nav) > button.is-active {
    flex: 3.5 1 0 !important; width: 0 !important; min-width: 0 !important; padding: .3rem !important; gap: .35rem !important;
    background: var(--theme-surface-active,var(--vmesta-ui-panel,#fff)) !important;
  }
  html:root body :is(.signals-scope-tabs,.spaces-index-scope,.level-settings-tools > nav) > button > :is(i,svg) {
    display: grid !important; flex: 0 0 1.1rem !important; width: 1.1rem !important; height: 1.1rem !important; place-items: center;
  }
  html:root body .spaces-index-scope > button > i > svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; }
  html:root body .signals-scope-tabs > button > span,
  html:root body .spaces-index-scope > button > strong,
  html:root body .level-settings-tools > nav > button > span {
    display: block !important; min-width: 0 !important; max-width: 0 !important; opacity: 0 !important;
    overflow: hidden !important; white-space: nowrap !important; text-overflow: ellipsis !important;
    font-size: .65rem !important; transition: max-width .24s ease,opacity .16s ease !important;
  }
  html:root body .signals-scope-tabs > button.is-active > span,
  html:root body .spaces-index-scope > button.is-active > strong,
  html:root body .level-settings-tools > nav > button.is-active > span { max-width: 10rem !important; opacity: 1 !important; white-space: normal !important; line-height: 1.1 !important; text-align: left; }
  html:root body .signals-scope-tabs.signals-scope-tabs > button.is-active > span { display: block !important; }
  html:root body .signals-scope-tabs > button > b,
  html:root body .spaces-index-scope > button > span { display: none !important; }
  html:root body .level-settings-tools > nav > button[hidden] { display: none !important; }
  html:root body :is(#profile-left-rail,#profile-right-rail) {
    transition: transform .24s cubic-bezier(.2,.78,.25,1),opacity .18s ease,visibility .24s !important;
  }
  html:root body #post-viewer#post-viewer.is-discussion-mode #post-viewer-panel#post-viewer-panel {
    transition: height .18s ease,max-height .18s ease,opacity .18s ease !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html:root body .emoji-picker.emoji-picker-expanded:not(.hidden) { animation: none !important; }
  html:root body :is(.signals-scope-tabs,.spaces-index-scope,.level-settings-tools > nav) > button,
  html:root body #profile-tabs-container :is(.tab-btn,.profile-tab-label),
  html:root body :is(#profile-left-rail,#profile-right-rail) { transition: none !important; }
}
@keyframes vmesta-emoji-reveal { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 767px) {
  html:root body[data-mobile-right-context="friends"] #profile-right-rail > :is(.spaces-top-panel,#side-my,#side-feed,#side-photos,#side-videos,#side-music,#messages-side-root,#mobile-achievements-contacts) { display: none !important; }
  html:root body[data-mobile-right-context="friends"] #profile-right-rail > #side-friends:not(.hidden) { display: block !important; }
  html:root body[data-mobile-right-context="friends"] #mobile-achievements-peek:not([hidden]) { display: grid !important; visibility: visible !important; }
  /* v118 accidentally made the fixed header a shrink-to-content flex item
     while profile settings were open. Keep its normal full-width shell. */
  html:root body:has(#cover-animation-panel:not(.hidden)) #site-header {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
  }
  html:root body:has(#cover-animation-panel:not(.hidden)) #site-header > div {
    width: 100% !important;
    min-width: 0 !important;
  }

  html:root body .messenger-main-heading { display: flex !important; align-items: center !important; gap: .45rem !important; min-width: 0 !important; }
  html:root body .messenger-list-back { display: grid !important; width: 2.45rem !important; height: 2.45rem !important; flex: 0 0 2.45rem !important; place-items: center !important; border: 0 !important; border-radius: .78rem !important; background: var(--msg-accent-soft) !important; color: var(--msg-accent) !important; }
  html:root body .messenger-list-back svg { width: 1.05rem !important; height: 1.05rem !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; }

  html:root body .messenger-recording-panel.is-locked .messenger-recording-status {
    position: absolute !important;
    z-index: 8 !important;
    right: auto !important;
    bottom: calc(100% + .42rem) !important;
    left: .3rem !important;
    display: flex !important;
    width: min(18rem, calc(100vw - 5rem)) !important;
    max-width: calc(100vw - 5rem) !important;
    min-height: 1.95rem !important;
    padding: .35rem .58rem !important;
    border-radius: 999px !important;
    background: var(--vmesta-ui-panel, var(--msg-panel, #fff)) !important;
    box-shadow: 0 .34rem .9rem rgb(2 12 28 / .18) !important;
    overflow: hidden !important;
  }
  html:root body .messenger-recording-panel.is-locked .messenger-recording-status > span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  html:root body .messenger-recording-panel .messenger-recording-send svg,
  html:root body .messenger-recording-panel .messenger-recording-send svg * {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  html:root body[data-mobile-right-context="profile"] .mobile-achievements-header > div { visibility: hidden !important; }
  html:root body #profile-right-rail { border-radius: 0 !important; }
  html:root body #tab-friend-signals .signal-sidebar-chevron { display: grid !important; visibility: visible !important; opacity: 1 !important; }

  html:root body .mobile-profile-quick-menu .mobile-quick-settings-title { display: grid; gap: .12rem; padding: .45rem .72rem .25rem; }
  html:root body .mobile-profile-quick-menu .mobile-quick-settings-title small { color: var(--vmesta-ui-primary,#2583ff); font-size: .55rem; font-weight: 900; letter-spacing: .14em; }
  html:root body .mobile-profile-quick-menu .mobile-quick-settings-title strong { color: var(--vmesta-ui-text,#173f73); font-size: .9rem; }
  html:root body .mobile-profile-quick-menu .mobile-quick-theme-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .38rem; }
  html:root body .mobile-profile-quick-menu .mobile-quick-theme-grid > button { min-height: 4.2rem !important; grid-template-columns: 2.5rem minmax(0,1fr) !important; background: color-mix(in srgb,var(--vmesta-ui-primary,#2583ff) 7%,var(--vmesta-ui-panel,#fff)) !important; }
  html:root body .mobile-profile-quick-menu .mobile-quick-theme-grid i { display:block; width:2.3rem; height:2.3rem; border-radius:.65rem; box-shadow:inset 0 0 0 1px rgb(100 116 139 / .16); }
  html:root body .mobile-profile-quick-menu .mobile-quick-theme-grid i.is-light { background: linear-gradient(#fff 45%,#e7eef8 45%); }
  html:root body .mobile-profile-quick-menu .mobile-quick-theme-grid i.is-dark { background: linear-gradient(#172236 45%,#334155 45%); }
}


html:root body #signals-journal .signals-grid:has(.signal-trophy-card) {
  min-height: 0 !important; align-content: start !important; grid-auto-rows: auto !important; gap: .65rem !important;
}
html:root body .signal-trophy-card {
  display: grid !important; grid-template-columns: 3.5rem minmax(0,1fr) auto !important;
  align-items: center !important; align-self: start !important; gap: .8rem !important;
  min-height: 0 !important; margin: 0 !important; padding: .8rem !important;
  border: 0 !important; border-radius: 1rem !important;
  background: var(--theme-surface-control,var(--vmesta-ui-soft,#edf4fb)) !important;
}
html:root body .signal-trophy-art { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; border-radius: .75rem; background: var(--theme-surface-panel,#fff); overflow: hidden; }
html:root body .signal-trophy-art :is(img,svg) { width: 100%; height: 100%; object-fit: contain; }
html:root body .signal-trophy-card > div { min-width: 0; display: grid; gap: .2rem; }
html:root body .signal-trophy-card strong { font-size: .88rem; color: var(--theme-text-primary,#173f73); }
html:root body .signal-trophy-card :is(small,p) { font-size: .68rem; margin: 0; color: var(--theme-text-secondary,#64748b); }
html:root body .signal-trophy-claimed { align-self: center; font-size: .68rem; font-weight: 800; color: var(--color-dynamic,#3775ca); }
html:root body .signal-trophy-card > button { padding: .5rem .7rem; border-radius: .7rem; background: var(--color-dynamic,#3775ca); color: #fff; font-size: .7rem; }
html:root body .album-photo-wall:is(.is-pair,.is-gallery) { grid-auto-rows: auto !important; grid-auto-flow: row !important; align-items: start !important; }
html:root body .album-photo-wall:is(.is-pair,.is-gallery) > .album-photo-tile { position: relative !important; grid-area: auto !important; margin: 0 !important; min-height: 0 !important; }
html:root body .post-composer-attach-menu { width: min(22rem,calc(100vw - 1rem)) !important; grid-auto-rows: minmax(3rem,auto) !important; padding: .55rem !important; gap: .25rem !important; background: var(--theme-surface-control,var(--vmesta-ui-soft,#edf4fb)) !important; }
html:root body .post-composer-attach-menu > button { min-height: 3rem !important; padding: .35rem .45rem !important; gap: .65rem !important; border-radius: .7rem !important; text-align: left !important; }
html:root body .post-composer-attach-menu .post-composer-attach-icon { flex: 0 0 2.1rem; width: 2.1rem !important; height: 2.1rem !important; border-radius: .65rem; background: color-mix(in srgb,var(--theme-accent,#387bd1) 10%,transparent); }
html:root body .messenger-composer-reply { position: relative !important; margin: .35rem .5rem !important; padding: .6rem .7rem .6rem .95rem !important; border: 0 !important; border-radius: .9rem !important; background: var(--msg-menu-active,var(--theme-surface-control,#edf4fb)) !important; overflow: hidden; }
html:root body .messenger-composer-reply::before { content: ''; position: absolute; left: .4rem; top: .5rem; bottom: .5rem; width: .2rem; border-radius: .2rem; background: var(--msg-accent,var(--color-dynamic,#3775ca)); }
html:root body .messenger-message { touch-action: pan-y pinch-zoom; }
html:root body .messenger-message > .messenger-bubble { transition: transform .18s ease; }
html:root body .messenger-message > .messenger-bubble.is-reply-swiping { transform: translateX(var(--reply-swipe-x,0px)) !important; transition: none !important; will-change: transform; }
html:root body .messenger-bubble.is-reply-swiping::after { content: '↶'; position: absolute; right: -2rem; top: 50%; color: var(--msg-accent,var(--color-dynamic,#3775ca)); font-size: 1.4rem; }
html:root body .messenger-room-quick-reactions { border: 0 !important; padding: .6rem !important; border-radius: 1rem; background: var(--msg-menu-active,var(--theme-surface-control,#edf4fb)); }
html:root body .messenger-room-quick-reactions :is(legend,summary) { color: var(--msg-text,var(--theme-text-primary,#173f73)); }
html:root body .messenger-room-quick-reactions :is(legend small,.messenger-room-reaction-status) { font-size: .7rem; color: var(--msg-muted,var(--theme-text-secondary,#64748b)); }
html:root body .messenger-room-quick-reactions > div,html:root body .messenger-room-reaction-options { display: grid !important; grid-template-columns: repeat(6,minmax(0,1fr)) !important; gap: .3rem; }
html:root body .messenger-room-quick-reactions details { margin-top: .6rem; }
html:root body .messenger-room-quick-reactions summary { cursor: pointer; padding: .6rem .2rem; font-size: .8rem; font-weight: 700; }
html:root body .messenger-room-reaction-options { max-height: 15rem; overflow-y: auto; touch-action: pan-y; }
html:root body .messenger-room-quick-reactions > div > label,html:root body .messenger-room-reaction-options > label { position: relative; display: grid; place-items: center; min-height: 2.6rem; border: 0 !important; border-radius: .65rem; background: var(--msg-panel,var(--theme-surface-panel,#fff)); cursor: pointer; }
html:root body .messenger-room-quick-reactions input { position: absolute; opacity: 0; width: 1px; height: 1px; }
html:root body .messenger-room-quick-reactions label:has(input:checked) { background: var(--msg-accent-soft,var(--theme-surface-control,#d6e5f6)); box-shadow: none !important; }
html:root body .messenger-room-quick-reactions label:has(input:checked)::after { content: '✓'; position: absolute; right: .15rem; bottom: .05rem; color: var(--msg-accent,var(--color-dynamic,#3775ca)); font-size: .65rem; }
html:root body .messenger-room-quick-reactions label > span { font-size: 1.3rem !important; line-height: 1.5; }
html:root body .messenger-message-menu-stack.has-reaction-picker .messenger-reaction-picker { position: relative !important; inset: auto !important; display: grid !important; opacity: 1 !important; visibility: visible !important; transform: none !important; background: var(--msg-menu-surface,var(--theme-surface-panel,#fff)) !important; }
html:root body .messenger-reaction-grid { display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)) !important; min-height: 6rem; overflow-y: auto !important; }
html:root body .spaces-index-scope svg { stroke-width: 2.5 !important; }
html:root body.messenger-dismiss-tap .messenger-chat-row:not(.is-active),html:root body.messenger-dismiss-tap .messenger-chat-row:not(.is-active) .messenger-chat-open { background: transparent !important; box-shadow: none !important; }
html:root body :is(.messenger-message-stream,.messenger-room-panel-body,.messenger-room-member-list,.messenger-shared-media-grid) { overflow-anchor: none !important; touch-action: pan-y pinch-zoom; }
@media (max-width: 767px) {
  html:root body #profile-left-rail .profile-sidebar-more-menu { border-radius: 0 0 1rem 1rem !important; overflow: hidden; }
  html:root body #profile-left-rail .profile-sidebar-more-menu > button:last-child { border-radius: 0 0 1rem 1rem !important; }
  html:root body .mobile-drawer-header > div:first-child { min-width: 0; flex: 1; display: flex; flex-direction: column-reverse; gap: .2rem; }
  html:root body .mobile-drawer-header strong { font-size: .85rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html:root body .mobile-drawer-header > div:first-child > span { font-size: .65rem !important; letter-spacing: 0 !important; }
  html:root body .signal-trophy-card { grid-template-columns: 3rem minmax(0,1fr) !important; gap: .25rem .6rem !important; }
  html:root body .signal-trophy-art { grid-row: 1 / 3; width: 3rem; height: 3rem; }
  html:root body .signal-trophy-card > :is(.signal-trophy-claimed,button) { grid-column: 2; justify-self: start; margin: 0 !important; }
  html:root body #tab-photos > div { padding: .75rem !important; }
  html:root body #tab-photos > div > div:first-child { margin-bottom: .7rem !important; padding: 0 !important; }
  html:root body .photos-toolbar { flex-wrap: nowrap !important; gap: .4rem !important; margin-bottom: .65rem !important; padding: 0 !important; }
  html:root body .photos-toolbar :is(#upload-photo-btn,#create-album-btn) { padding: .5rem !important; min-height: 2.5rem; }
  html:root body .photos-toolbar :is(#upload-photo-btn,#create-album-btn) span { display: none !important; }
  html:root body .profile-media-tabs { padding: .2rem !important; }
  html:root body .profile-media-tab { padding: .5rem .65rem !important; }
  html:root body :is(#photos-list-container,.space-profile-photo-grid,.space-profile-albums-grid,.profile-video-album-grid,#album-viewer-grid.is-pair,#album-viewer-grid.is-gallery) { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; grid-auto-rows: auto !important; gap: .35rem !important; align-content: start !important; }
  html:root body :is(#photos-list-container,.space-profile-photo-grid) > * { min-width: 0 !important; aspect-ratio: 1 !important; height: auto !important; }
  html:root body :is(#photos-list-container,.space-profile-photo-grid) img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  html:root body :is(.photo-delete-button,.photo-delete-btn,.media-card-kebab) { width: 1.8rem !important; height: 1.8rem !important; padding: .35rem !important; }
  html:root body :is(.profile-video-library,.space-video-library) { padding: .75rem !important; }
  html:root body :is(.profile-video-library-head,.space-profile-media-head) { display: flex !important; align-items: center !important; gap: .5rem !important; margin-bottom: .65rem !important; }
  html:root body :is(.profile-video-library-head,.space-profile-media-head) :is(h2,h3) { font-size: 1rem !important; margin: 0 !important; }
  html:root body :is(.profile-video-library-head,.space-profile-media-head) p { font-size: .65rem !important; margin: .1rem 0 0 !important; }
  html:root body .profile-video-library-head > div:first-child > span { display: none !important; }
  html:root body .profile-video-head-actions { flex: 0 0 auto !important; width: auto !important; }
  html:root body .profile-video-add { padding: .5rem !important; min-height: 2.5rem !important; width: auto !important; }
  html:root body .profile-video-add span { display: none !important; }
  html:root body :is(.profile-video-tabs,.space-profile-media-tabs) { margin: .5rem 0 !important; padding: .2rem !important; }
  html:root body :is(#profile-videos-root .profile-video-field,.space-video-library .space-video-field,.space-profile-photo-field) { min-height: 0 !important; padding: .4rem !important; margin-top: .65rem !important; }
  html:root body .profile-video-card { min-width: 0 !important; }
  html:root body .profile-video-cover { aspect-ratio: 1 !important; min-height: 0 !important; }
  html:root body .profile-video-cover .vmesta-video-player { height: 100% !important; aspect-ratio: 1 !important; min-height: 0 !important; }
  html:root body .profile-video-cover .vmesta-video-controls { display: flex !important; justify-content: flex-end; padding: 0 !important; min-height: 0 !important; inset: auto .2rem .2rem auto !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
  html:root body .profile-video-cover .vmesta-video-controls > :not(.vmesta-video-fullscreen) { display: none !important; }
  html:root body .profile-video-cover .vmesta-video-fullscreen { width: 1.6rem !important; min-width: 1.6rem !important; height: 1.6rem !important; background: rgb(8 13 32 / .7) !important; }
  html:root body .profile-video-card-copy { padding: .3rem !important; }
  html:root body .profile-video-card-copy strong { display: block; font-size: .62rem !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  html:root body .vmesta-market-tab-scroll { display: flex !important; flex-wrap: nowrap !important; width: 100%; gap: .2rem !important; padding: .25rem !important; border-radius: 1rem; background: var(--theme-surface-control,var(--vmesta-ui-soft,#edf4fb)); }
  html:root body .vmesta-market-tab-scroll > button { flex: 1 1 0 !important; min-width: 2rem !important; padding: .5rem .25rem !important; min-height: 2.75rem !important; display: flex !important; justify-content: center; gap: .35rem !important; transition: flex-grow .2s ease,background-color .2s ease; }
  html:root body .vmesta-market-tab-scroll > button.is-active { flex-grow: 2.8 !important; }
  html:root body .vmesta-market-tab-scroll > button span { display: none; font-size: .7rem; }
  html:root body .vmesta-market-tab-scroll > button.is-active span { display: inline; }
  html:root body .vmesta-market-tab-scroll svg { width: 1.2rem !important; height: 1.2rem !important; flex-shrink: 0; }
  html:root body .messenger-room-members-head { flex-wrap: wrap !important; }
  html:root body .messenger-room-member-search.is-inline { width: 100% !important; flex: 1 0 100% !important; min-width: 0 !important; }
  html:root body .messenger-room-member-search input { width: 100% !important; min-width: 0 !important; font-size: .85rem !important; }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > i { position: relative !important; box-sizing: border-box !important; padding: 0 !important; margin: 0 !important; }
  html:root body :is(.mobile-nav-preference-row,.mobile-nav-catalog-toggle) > i::after { position: absolute !important; inset: .15rem auto auto .15rem !important; margin: 0 !important; box-sizing: border-box !important; }
  html:root body .messenger-pinned-panel:has(.messenger-pinned-empty) { max-height: 12rem !important; }
  html:root body .messenger-pinned-empty { min-height: 6rem !important; padding: 1rem !important; }
  html:root body #emoji-picker-messenger-input:not(.hidden) { min-height: min(18rem,45dvh) !important; }
}

/* v126: visibility wins over library grid layout, on both screen sizes. */
html:root body :is(#photos-list-container,#albums-list-container,#albums-placeholder,.space-profile-photo-grid,.space-profile-albums-grid,.profile-video-grid,.profile-video-album-grid,.profile-video-album-viewer-grid).hidden,
html:root body :is(#photos-list-container,#albums-list-container,.profile-video-grid,.profile-video-album-grid)[hidden] { display: none !important; }
html:root body .messenger-selection-actions button > span.messenger-icon { display: inline-flex !important; }
html:root body .messenger-selection-actions .messenger-icon svg { display: block !important; width: 1.25rem; height: 1.25rem; }
html:root body .messenger-message-context-stack { overflow: auto; overscroll-behavior: contain; }
html:root body .messenger-reaction-grid { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; overflow-y: hidden !important; gap: .3rem !important; padding: .4rem !important; min-height: 0 !important; max-height: 3.5rem !important; touch-action: pan-x; scroll-behavior: auto; }
html:root body .messenger-reaction-grid > button { flex: 0 0 2.35rem; width: 2.35rem !important; height: 2.35rem !important; }
html:root body .messenger-recording-trim *, html:root body .messenger-recording-trim::before, html:root body .messenger-recording-trim::after { transition: none !important; }
html:root body .messenger-recording-panel.is-starting .messenger-recording-wave { visibility: hidden; }
html:root body .messenger-recording-stop .messenger-icon { display: inline-flex !important; }
html:root body .messenger-recording-status { left: .65rem !important; right: .65rem !important; width: auto !important; max-width: none !important; transform: none !important; gap: .4rem !important; }
html:root body .messenger-recording-status > span { min-width: 0; text-align: center; flex: 1; }
html:root body :is(.messenger-folder-modal,.messenger-new-modal,.messenger-forward-modal) { position: fixed !important; inset: 0 !important; display: grid !important; place-items: center !important; padding: .6rem !important; box-sizing: border-box; }
html:root body :is(.messenger-folder-modal,.messenger-new-modal,.messenger-forward-modal) > section { width: min(34rem,100%) !important; min-width: 0 !important; margin: 0 !important; max-height: min(90dvh,var(--mobile-keyboard-viewport-height,90dvh)) !important; overflow: auto; box-sizing: border-box; }
html:root body .media-card-menu:not(.hidden) { max-width: calc(100vw - 1rem); }
html:root body #media-viewer-image { touch-action: none; }
html:root body #media-viewer-stage.is-dragging-photo #media-viewer-image { transition: none !important; }
html:root body .galaxy-guard-back { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; border: 0; border-radius: .85rem; background: var(--theme-surface-control,#e9f3ee); color: var(--theme-accent,#278c54); }
html:root body .galaxy-guard-back svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 2.3; }
html:root body .vmesta-call-video-tile video { object-fit: contain !important; background: #101821; }
html:root body .vmesta-call-video-tile.is-portrait { --call-camera-aspect: 9 / 16; }
@media (min-width: 768px) {
  html:root body #profile-tabs .tab-btn { margin-inline: .15rem; padding-inline: .85rem; }
  html:root body #profile-tabs .profile-tab-icon svg { width: 1.2rem; height: 1.2rem; }
  html:root body .messenger-bubble { max-width: min(84%,36rem) !important; }
  html:root body .messenger-bubble:has(.messenger-voice-note) { width: min(68%,20rem) !important; }
  html:root body .messenger-voice-note { min-height: 3.5rem !important; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall:not(.is-focused) { display: flex !important; align-items: stretch; justify-content: center; gap: .65rem; min-height: 16rem; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall:not(.is-focused) .vmesta-call-video-tile:not([hidden]) { position: relative !important; inset: auto !important; flex: 1 1 0; width: auto !important; min-width: 0; height: min(52vh,30rem) !important; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall:not(.is-focused) .vmesta-call-video-tile.is-portrait { flex-grow: .6; }
}
@media (max-width: 767px) {
  html:root body .friends-list-row { grid-template-columns: minmax(0,1fr) auto auto !important; column-gap: .35rem !important; }
  html:root body .friend-row-menu-wrap { display: flex !important; align-self: center; }
  html:root body .friend-row-menu-button { display: flex !important; align-items: center; justify-content: center; width: 2.25rem !important; height: 2.5rem !important; padding: .4rem !important; }
  html:root body .friend-row-actions { gap: .2rem !important; }
  html:root body .friend-row-action { width: 2rem !important; min-width: 2rem !important; }
  html:root body .friend-row-identity h4 { min-width: 0; overflow-wrap: anywhere; }
  html:root body :is(.signals-scope-tabs,.friends-scope-tabs) { touch-action: pan-x; scroll-behavior: auto !important; scroll-snap-type: none !important; }
  html:root body .signals-scope-tabs button { transition: background-color .16s ease !important; }
  html:root body :is(.profile-video-grid,.profile-video-album-viewer-grid,.space-video-grid) { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: .75rem !important; }
  html:root body :is(.profile-video-grid,.profile-video-album-viewer-grid,.space-video-grid).hidden { display: none !important; }
  html:root body .profile-video-cover, html:root body .profile-video-cover .vmesta-video-player { aspect-ratio: 16 / 9 !important; width: 100% !important; height: auto !important; min-height: 0 !important; }
  html:root body .profile-video-cover .vmesta-video-controls { display: none !important; }
  html:root body .profile-video-cover .is-playback-activated .vmesta-video-controls { display: flex !important; justify-content: normal; inset: auto .35rem .35rem !important; gap: .3rem !important; padding: .35rem !important; background: rgb(8 13 32 / .8) !important; border-radius: .75rem; }
  html:root body .profile-video-cover .is-playback-activated .vmesta-video-controls > :not(.vmesta-video-fullscreen) { display: flex !important; }
  html:root body .profile-video-cover .vmesta-video-controls > :is(.vmesta-video-quality,.vmesta-video-speed,.vmesta-video-settings) { display: none !important; }
  html:root body .profile-video-cover .vmesta-video-range { min-width: 0 !important; flex: 1; }
  html:root body .profile-video-card-copy { padding: .6rem !important; }
  html:root body .profile-video-card-copy strong { font-size: .9rem !important; white-space: normal !important; }
  html:root body .profile-video-library-head { justify-content: space-between !important; text-align: left !important; }
  html:root body .messenger-bubble { max-width: min(86%,28rem) !important; }
  html:root body .messenger-bubble p { font-size: .95rem !important; line-height: 1.4 !important; overflow-wrap: anywhere; }
  html:root body .messenger-bubble:has(.messenger-voice-note) { width: clamp(11rem,56vw,15rem) !important; }
  html:root body .messenger-voice-note { min-height: 3.5rem !important; padding: .3rem !important; }
  html:root body .messenger-voice-note-toggle { width: 2.6rem !important; height: 2.6rem !important; flex: 0 0 2.6rem; }
  html:root body .messenger-recording-status { padding: .4rem !important; font-size: .65rem !important; }
  html:root body .messenger-recording-status strong { font-size: .75rem !important; }
  html:root body #galaxy-guard-modal:not(.hidden) { position: fixed !important; inset: 0 !important; display: grid !important; place-items: center !important; padding: .5rem !important; box-sizing: border-box; }
  html:root body #galaxy-guard-modal .galaxy-guard-dialog { width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: calc(100svh - 1rem) !important; max-height: calc(100svh - 1rem) !important; margin: 0 !important; transform: none !important; display: flex; flex-direction: column; overflow: hidden; }
  html:root body .galaxy-guard-head { gap: .45rem !important; padding: .7rem !important; min-width: 0; }
  html:root body .galaxy-guard-head > div { min-width: 0; flex: 1; }
  html:root body .galaxy-guard-emblem { display: none !important; }
  html:root body .galaxy-guard-head h2 { font-size: 1.05rem !important; }
  html:root body .galaxy-guard-head :is(small,p) { font-size: .65rem !important; overflow-wrap: anywhere; }
  html:root body .galaxy-guard-close { flex: 0 0 2.3rem; width: 2.3rem !important; height: 2.3rem !important; }
  html:root body .galaxy-guard-toolbar { min-width: 0; display: flex !important; flex-direction: column; padding: .5rem !important; gap: .5rem !important; }
  html:root body #galaxy-guard-statuses { display: flex; width: 100%; min-width: 0; overflow-x: auto; flex-wrap: nowrap !important; scroll-behavior: auto; touch-action: pan-x; }
  html:root body #galaxy-guard-statuses > button { flex: 0 0 auto; white-space: nowrap; padding: .5rem .65rem !important; font-size: .7rem !important; }
  html:root body .galaxy-guard-toolbar label { width: 100%; min-width: 0; }
  html:root body .galaxy-guard-toolbar select { min-width: 0 !important; width: 100%; }
  html:root body .galaxy-guard-list { width: 100%; min-width: 0; overflow: auto; min-height: 0; flex: 1; padding: .6rem !important; }
  html:root body .galaxy-guard-empty { min-width: 0 !important; min-height: 10rem !important; padding: .75rem !important; text-align: center; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-card { width: calc(100vw - 1rem) !important; max-width: none !important; max-height: calc(100dvh - 1rem) !important; overflow: auto; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall { position: relative !important; width: 100% !important; height: min(62dvh,36rem) !important; min-height: 14rem; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall:not(.is-focused):not(.layout-3):not(.layout-4) .is-remote { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall:not(.is-focused):not(.layout-3):not(.layout-4) .is-local { position: absolute !important; inset: auto .5rem .5rem auto !important; width: 28% !important; height: 32% !important; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall:is(.layout-3,.layout-4):not(.is-focused) { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-video-wall:is(.layout-3,.layout-4):not(.is-focused) .vmesta-call-video-tile { position: relative !important; inset: auto !important; width: 100% !important; height: 100% !important; min-width: 0; }
}

html:root body .messenger-once-choice { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem; color: var(--theme-accent,#278c54); }
html:root body .messenger-once-choice input { accent-color: var(--theme-accent,#278c54); }
html:root body .messenger-pending-attachments article { position: relative; }
html:root body .messenger-pending-attachments .messenger-once-choice { grid-column: 1 / -1; }
html:root body .messenger-pending-attachments article:has(.messenger-once-choice) > :is(img,video,.messenger-pending-file-icon) { grid-column: 1; grid-row: 1; }
html:root body .messenger-pending-attachments article:has(.messenger-once-choice) > .messenger-pending-copy { grid-column: 2; grid-row: 1; }
html:root body .messenger-pending-attachments .messenger-once-choice { grid-row: 2; margin-top: .15rem; }
html:root body :is(.messenger-recording-panel,.messenger-recording-draft) > .messenger-once-choice { position: absolute; left: .65rem; top: -2rem; padding: .35rem .55rem; border-radius: .7rem; background: var(--theme-surface-control,#e9f3ee); z-index: 2; }
html:root body .messenger-once-card { display: flex; align-items: center; gap: .6rem; max-width: 100%; padding: .7rem; border: 0; border-radius: 1rem; background: var(--theme-surface-control,#e9f3ee); text-align: left; color: inherit; }
html:root body .messenger-once-card strong, html:root body .messenger-once-card small { display: block; }
html:root body .messenger-once-card small { font-size: .7rem; opacity: .75; }
html:root body #messenger-once-viewer { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: .6rem; background: rgb(8 13 32 / .8); }
html:root body #messenger-once-viewer section { width: min(42rem,100%); max-height: 94dvh; overflow: auto; border-radius: 1.2rem; padding: .75rem; background: var(--theme-surface-panel,var(--vmesta-ui-panel,#fff)); color: var(--theme-text-primary,var(--vmesta-ui-ink,#245174)); }
html:root body #messenger-once-viewer header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
html:root body #messenger-once-viewer button { width: 2.5rem; height: 2.5rem; border: 0; border-radius: .85rem; background: var(--theme-surface-control,#e9f3ee); }
html:root body #messenger-once-viewer :is(img,video) { display: block; max-width: 100%; max-height: 72dvh; margin: auto; object-fit: contain; }
html:root body #messenger-once-viewer audio { width: 100%; }
html:root body #messenger-once-viewer small { display: block; margin-top: .6rem; font-size: .75rem; }
html:root body #tab-friends { overflow-anchor: none; }
html:root body #tab-friends .friends-list-row { animation: none !important; transition: background-color .15s ease !important; }
html:root body :is(.shared-post-media-viewer,.messenger-photo-viewer) figure > img { transition: none !important; }

/* v128: bounded grid tracks. An image's intrinsic min-content height must not
   enlarge a 100%-height grid track (portrait screenshots could exceed 2000px). */
html:root body :is(#messenger-photo-viewer,.shared-post-media-viewer,.messenger-photo-viewer) {
  height: 100dvh !important; max-height: 100dvh !important;
  box-sizing: border-box; overflow: hidden !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html:root body :is(#messenger-photo-viewer,.shared-post-media-viewer,.messenger-photo-viewer) figure {
  display: grid !important; grid-template-columns: minmax(0,1fr);
  grid-template-rows: minmax(0,1fr); min-width: 0 !important; min-height: 0 !important;
  box-sizing: border-box; overflow: hidden !important;
}
html:root body :is(#messenger-photo-viewer,.shared-post-media-viewer,.messenger-photo-viewer) figure > :is(img,video) {
  min-width: 0 !important; min-height: 0 !important; width: auto !important; height: auto !important;
  max-width: 100% !important; max-height: min(100%,calc(100dvh - 6rem)) !important;
  object-fit: contain !important; align-self: center; justify-self: center;
}
/* Geometry changes inside a message do not relayout the profile/sidebar. */
html:root body #messenger-message-stream { contain: size layout style; min-height: 0; min-width: 0; }
html:root body .messenger-message { contain: layout style; }
html:root body #messenger-message-stream .messenger-message.is-render-contained {
  content-visibility: auto;
}
/* Reply/edit is an overlay above the stable input row, not an extra grid row
   that relayouts the entire history on every open/cancel. */
html:root body #messages-root .messenger-composer:not(.is-recording) > .messenger-composer-reply {
  position: absolute !important; bottom: calc(100% + .35rem) !important;
  top: auto !important; left: 0 !important; right: 0 !important;
  width: auto !important; margin: 0 !important; z-index: 40;
}
/* Chromium 123+: size text natively, without synchronous JS style flushes.
   Width stays constrained; long pastes scroll after 120px. Older WebViews
   use the isolated measurement probe in messages.js. */
@supports (field-sizing: content) {
  html:root body #messages-root .messenger-composer textarea {
    field-sizing: content; height: auto !important; min-height: 2.35rem;
    max-height: 7.5rem; min-width: 0; width: 100%; box-sizing: border-box;
  }
}
/* Modal chrome keeps its height while a tab/loading/result changes. */
html:root body :is(.achievements-dialog,.level-details-modal > section) {
  display: flex !important; flex-direction: column; height: min(48rem,calc(100dvh - 2rem)) !important;
  min-height: 0 !important; overflow: hidden !important;
}
html:root body :is(.achievements-dialog-body,.level-details-body) {
  flex: 1 1 auto; min-height: 0; overflow-y: auto !important; overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
html:root body :is(.achievements-dialog-head,.achievements-scope-tabs,.achievements-dialog-tabs,.level-details-modal header) { flex-shrink: 0; }
html:root body #galaxy-guard-statuses svg { width: 1.1rem; height: 1.1rem; flex: 0 0 1.1rem; fill: none; stroke: currentColor; stroke-width: 2.2; }
/* v127: scrollable reactions and compact, labelled-accessible action icons. */
html:root body .messenger-message-menu-stack,
html:root body .messenger-message-menu-stack.has-reaction-picker { width: min(18rem,calc(100vw - 1rem)) !important; max-width: min(18rem,calc(100vw - 1rem)) !important; overflow: visible !important; }
html:root body .messenger-reaction-quick { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; overflow-y: hidden !important; min-width: 0; max-width: 100%; gap: .2rem !important; touch-action: pan-x !important; overscroll-behavior-x: contain; scrollbar-width: thin; }
html:root body .messenger-reaction-quick > button { flex: 0 0 2.5rem !important; width: 2.5rem !important; height: 2.5rem !important; font-size: 1.2rem !important; }
html:root body .messenger-message-menu-actions > button { min-height: 2.7rem !important; padding: .55rem .7rem !important; font-size: .82rem !important; }
html:root body .messenger-message-menu-icons { display: flex; justify-content: flex-start; gap: .35rem; padding: .3rem .5rem; }
html:root body .messenger-message-menu-icons > button { display: grid; place-items: center; flex: 0 0 2.7rem; width: 2.7rem; height: 2.7rem; border: 0; border-radius: .8rem; background: var(--msg-accent-soft); color: var(--msg-accent); }
html:root body .messenger-message-menu-icons > .is-danger { color: #d94658; }
html:root body .messenger-message-menu-icons .messenger-icon { display: inline-flex !important; width: 1.25rem; height: 1.25rem; }
html:root body .messenger-voice-note { width: 100% !important; min-width: 0 !important; grid-template-columns: 2.5rem minmax(0,1fr) !important; gap: .35rem !important; }
html:root body .messenger-scroll-tools { transition: bottom 160ms ease-out; }
html:root body .messenger-media-privacy { position: relative; z-index: 35; color: var(--msg-text); }
html:root body .messenger-media-privacy-trigger { display: flex; align-items: center; justify-content: center; gap: .2rem; width: 2.35rem; height: 2.35rem; border: 0; border-radius: .75rem; background: var(--msg-accent-soft); }
html:root body .messenger-media-privacy-editor { position: fixed; z-index: 1500; box-sizing: border-box; overflow: auto; padding: .65rem; border: 0; border-radius: 1rem; background: var(--theme-surface-panel,var(--vmesta-ui-panel,#fff)); color: var(--theme-text-primary,var(--vmesta-ui-ink,#245174)); }
html:root body .messenger-media-privacy-editor header { display: flex; align-items: center; justify-content: space-between; font-size: .85rem; }
html:root body .messenger-media-privacy-editor header button { display: grid; place-items: center; width: 2rem; height: 2rem; border: 0; border-radius: .6rem; background: var(--theme-surface-control); }
html:root body .messenger-media-privacy-editor label { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-block: .5rem; font-size: .78rem; }
html:root body .messenger-media-privacy-editor small { display: block; font-size: .65rem; opacity: .75; }
html:root body .messenger-media-privacy-editor input { width: 1.1rem; height: 1.1rem; accent-color: var(--theme-accent); }
html:root body .messenger-recording-panel > .messenger-media-privacy,
html:root body .messenger-recording-draft > .messenger-media-privacy { position: absolute; right: .6rem; bottom: calc(100% + 3.4rem); }
html:root body .messenger-pending-attachments article > .messenger-media-privacy { grid-column: 1 / -1; justify-self: end; order: 10; }
html:root body .messenger-photo-grid button.is-spoiler { position: relative; overflow: hidden; }
html:root body :is(.messenger-photo-grid button,.messenger-pending-attachments article,.messenger-attachment-preview).is-spoiler > img { filter: blur(18px); }
html:root body .messenger-spoiler-label { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: .5rem; color: white; background: rgb(10 20 35 / .25); }
html:root body .messenger-message.is-reply-swiping .messenger-bubble { transition: none !important; }
html:root body .messenger-message:not(.is-reply-swiping) .messenger-bubble { transition: transform 160ms ease-out,background-color 140ms ease; }
@property --media-transfer-angle { syntax: '<angle>'; inherits: true; initial-value: 0deg; }
@property --photo-download-progress { syntax: '<percentage>'; inherits: true; initial-value: 0%; }
@property --track-download-progress { syntax: '<percentage>'; inherits: true; initial-value: 0%; }
html:root body :is(.messenger-video-note,.messenger-voice-note,.messenger-generic-media) { transition: --media-transfer-angle 180ms linear; }
html:root body .messenger-photo-manual { transition: --photo-download-progress 180ms linear; }
html:root body .vmesta-track-player { transition: --track-download-progress 180ms linear; }
html:root body .messenger-attach-menu { width: min(22rem,calc(100vw - 2rem)); grid-template-columns: repeat(2,minmax(0,1fr)); gap: .3rem; padding: .6rem; background: var(--msg-accent-soft); transition: opacity 160ms ease,transform 160ms ease,visibility 160ms; }
html:root body .messenger-attach-menu button { min-height: 3rem; font-size: .82rem; }
html:root body .messenger-attach-menu i { width: 2.1rem; height: 2.1rem; }
html:root body .messenger-attach-menu small { display: block; margin: .15rem 0 0; }
@media(max-width:767px) {
  /* Нижняя навигация появляется сразу готовой после загрузки страницы. */
  :is(html.vmesta-initial-loading,html.vmesta-section-boot) body #mobile-bottom-navigation,
  body.vmesta-route-loading #mobile-bottom-navigation {
    visibility:hidden!important;pointer-events:none!important;
  }
  html:root body .messenger-video-note:not(.is-expanded) { width: clamp(9rem,52vw,13rem) !important; }
  html:root body .messenger-bubble.has-attachments:not(.is-poll):not(:has(.messenger-voice-note)):not(.is-video-note-only):not(.is-sticker-only) { max-width: min(76vw,21rem) !important; }
  html:root body:has(#tab-friends:not(.hidden)) { overflow-anchor: none; }
  html:root body #tab-friends,html:root body #friends-viewport { height: auto !important; max-height: none !important; overflow: visible !important; touch-action: pan-y; }
  html:root body #friends-viewport { min-height: max(31.25rem,calc(100svh - 8rem)) !important; }
  html:root body #cover-section { flex-shrink: 0; }
}
@media(prefers-reduced-motion:reduce) {
  html:root body :is(.messenger-scroll-tools,.messenger-message .messenger-bubble,.messenger-attach-menu,.messenger-video-note,.messenger-voice-note,.messenger-generic-media,.messenger-photo-manual,.vmesta-track-player) { transition: none !important; }
}
@media(max-width:767px) {
  html:root body .profile-video-library-head { flex-direction: row !important; }
  html:root body .profile-video-library-head > div:first-child { flex: 1; min-width: 0; }
  html:root body .profile-video-head-actions { width: auto !important; }
  html:root body .galaxy-guard-dialog { border-radius: 1.25rem !important; }
  html:root body #galaxy-guard-statuses > button { display: flex; align-items: center; gap: .3rem; }
  html:root body #galaxy-guard-statuses > button:not(.is-active) strong { display: none; }
}

/* Context backdrop is out of flow on desktop too: adding a button must not
   change the document height or the sticky profile rail's containing block. */
html:root body .messenger-message-menu-backdrop { position: fixed !important; inset: 0 !important; z-index: 1088 !important; width: 100% !important; height: 100dvh !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
@media(min-width:768px) {
  html:root body .messenger-message-menu-backdrop { background: transparent !important; backdrop-filter: none !important; }
  html:root body #messenger-message-context { z-index: 1090 !important; width: min(256px,calc(100vw - 16px)) !important; max-width: min(256px,calc(100vw - 16px)) !important; gap: 4px !important; }
  html:root body #messenger-message-context :is(.messenger-message-menu,.messenger-reaction-panel) { padding: 4px !important; border: 0 !important; border-radius: 12px !important; backdrop-filter: none !important; }
  html:root body #messenger-message-context .messenger-reaction-quick { gap: 1px !important; scrollbar-width: none; }
  html:root body #messenger-message-context .messenger-reaction-quick > button { flex: 0 0 30px !important; width: 30px !important; height: 34px !important; font-size: 19px !important; }
  html:root body #messenger-message-context .messenger-message-menu-actions > button { min-height: 36px !important; padding: 8px 10px !important; gap: 9px !important; font-size: 13px !important; font-weight: 700 !important; }
  html:root body #messenger-message-context .messenger-icon { width: 17px !important; height: 17px !important; }
  html:root body #messenger-message-context .messenger-message-menu-icons { padding: 4px 6px !important; gap: 5px !important; }
  html:root body #messenger-message-context .messenger-message-menu-icons > button { flex: 0 0 34px !important; width: 34px !important; height: 34px !important; border-radius: 9px !important; }
  html:root.page-scroll-locked-soft { overflow: hidden !important; scrollbar-gutter: stable; }
  html:root body.page-scroll-locked-soft { overflow: visible !important; position: static !important; }
}

html:root body #messenger-media-privacy-editor { z-index: 85010 !important; padding: 12px !important; border-radius: 16px !important; box-shadow: 0 12px 40px rgb(2 6 23 / .22); }
html:root body #messenger-media-privacy-editor header { position: static !important; display: flex !important; width: auto !important; height: auto !important; min-height: 32px !important; padding: 0 0 8px !important; margin: 0 !important; background: transparent !important; font-size: 14px !important; box-shadow: none !important; }
html:root body #messenger-media-privacy-editor header button { flex: 0 0 28px; width: 28px !important; height: 28px !important; min-height: 0 !important; }
html:root body #messenger-media-privacy-editor label { display: flex !important; min-height: 56px; gap: 9px !important; padding: 8px 0 !important; font-size: 13px !important; }
html:root body #messenger-media-privacy-editor label > span { flex: 1; min-width: 0; }
html:root body #messenger-media-privacy-editor small { font-size: 11px !important; line-height: 1.35; margin-top: 3px; }
html:root body .messenger-privacy-symbol { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 10px; background: var(--theme-surface-control,#e5effb); color: var(--theme-accent,var(--color-dynamic,#3775ca)); font-style: normal; font-weight: 800; }
html:root body #messenger-media-privacy-editor input[role="switch"] { appearance: none !important; position: relative; width: 34px !important; height: 20px !important; flex: 0 0 34px; border: 0 !important; border-radius: 20px !important; background: var(--theme-surface-control,#d3ddeb); cursor: pointer; transition: background 150ms; }
html:root body #messenger-media-privacy-editor input[role="switch"]::before { content: ''; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: white; transition: transform 150ms; }
html:root body #messenger-media-privacy-editor input[role="switch"]:checked { background: var(--theme-accent,var(--color-dynamic,#3775ca)); }
html:root body #messenger-media-privacy-editor input[role="switch"]:checked::before { transform: translateX(14px); }

html:root body .messenger-once-card { position: relative; width: min(260px,65vw); min-height: 64px; gap: 10px; padding: 8px; }
html:root body .messenger-once-card > span { min-width: 0; flex: 1; }
html:root body .messenger-once-card strong { font-size: 13px; }
html:root body .messenger-once-card small { font-size: 12px; }
html:root body .messenger-once-card em { display: block; font-size: 10px; opacity: .7; font-style: normal; }
html:root body .messenger-once-card-play { position: relative; display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: var(--msg-accent,#3775ca); color: white; }
html:root body .messenger-once-card-play b { position: absolute; bottom: -2px; right: -2px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--msg-accent,#3775ca); font: 700 11px/1 sans-serif; box-shadow: 0 0 0 2px var(--msg-panel,#fff); }
html:root body .messenger-once-wave { display: flex; align-items: center; gap: 2px; height: 28px; overflow: hidden; }
html:root body .messenger-once-wave > i:not(.messenger-once-sparks) { height: var(--voice-wave-height,8px); flex: 1 0 1px; border-radius: 3px; background: currentColor; }
html:root body .messenger-once-card.is-video { display: flex; flex-direction: column; align-items: center; justify-content: center; width: clamp(140px,45vw,200px); aspect-ratio: 1; border-radius: 50%; padding: 16px; overflow: hidden; background: radial-gradient(circle at 40% 30%,var(--msg-accent-soft,#b8cde5),var(--msg-panel,#e5effb)); text-align: center; }
html:root body .messenger-once-card.is-video > span { flex: 0; z-index: 1; }
html:root body .messenger-once-dust { position: absolute; inset: 0; opacity: .35; background-image: radial-gradient(white 1px,transparent 1px); background-size: 7px 9px; pointer-events: none; }

html:root body #messenger-once-viewer { --once-progress: 0%; display: grid !important; grid-template-rows: minmax(0,1fr) auto !important; justify-items: center; padding: max(20px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom)) !important; background: rgb(8 18 32 / .55) !important; backdrop-filter: blur(14px); overflow: hidden !important; color: white !important; }
html:root body #messenger-once-viewer .messenger-once-stage { display: flex !important; flex-direction: column; justify-content: center; align-items: center; gap: 20px; width: min(440px,100%) !important; max-height: 100% !important; min-height: 0; padding: 16px 0 !important; margin: 0 !important; border-radius: 0 !important; background: transparent !important; overflow: hidden !important; color: white !important; }
html:root body #messenger-once-viewer .messenger-once-hint { align-self: center; width: fit-content; max-width: 360px; padding: 10px 14px; margin: 0; border-radius: 14px; background: rgb(7 15 25 / .5); font-size: 14px; line-height: 1.4; text-align: center; }
html:root body #messenger-once-viewer .messenger-once-hint small { margin-top: 4px !important; font-size: 11px !important; opacity: .75; }
html:root body #messenger-once-viewer .messenger-once-player { position: relative; max-width: 100%; min-height: 0; flex-shrink: 1; }
html:root body #messenger-once-viewer.is-audio .messenger-once-player { display: grid; grid-template-columns: 56px minmax(0,1fr); align-items: center; gap: 6px 14px; width: min(360px,100%); padding: 18px; border-radius: 24px; background: var(--color-dynamic,#3775ca); }
html:root body #messenger-once-viewer audio { display: none !important; }
html:root body #messenger-once-viewer .messenger-once-play { position: relative; display: grid; place-items: center; width: 56px !important; height: 56px !important; border: 0; border-radius: 50% !important; background: rgb(0 0 0 / .25) !important; color: white; }
html:root body #messenger-once-viewer .messenger-once-play b { position: absolute; right: -2px; bottom: -2px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: rgb(8 18 32 / .7); font-size: 11px; }
html:root body #messenger-once-viewer .messenger-once-play .messenger-icon { width: 24px; height: 24px; }
html:root body #messenger-once-viewer .messenger-once-ring { position: absolute; inset: -5px; width: calc(100% + 10px); height: calc(100% + 10px); pointer-events: none; transform: rotate(-90deg); }
html:root body #messenger-once-viewer .messenger-once-ring circle { fill: none; stroke: white; stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 0; transition: stroke-dashoffset 180ms linear; }
html:root body #messenger-once-viewer.is-audio .messenger-once-wave { position: relative; height: 30px; mask-image: linear-gradient(to right,transparent var(--once-progress),white var(--once-progress)); }
html:root body #messenger-once-viewer.is-audio .messenger-once-play { grid-row: 1 / 3; }
html:root body #messenger-once-viewer .messenger-once-remaining { font-size: 13px; font-variant-numeric: tabular-nums; }
html:root body #messenger-once-viewer.is-video .messenger-once-player { width: min(340px,78vw,58dvh); aspect-ratio: 1; flex-shrink: 0; }
html:root body #messenger-once-viewer.is-video video { width: 100% !important; height: 100% !important; max-height: none !important; border-radius: 50%; object-fit: cover !important; background: rgb(0 0 0 / .25); }
html:root body #messenger-once-viewer.is-video .messenger-once-play { position: absolute; left: calc(50% - 28px); top: calc(50% - 28px); transition: opacity 160ms; }
html:root body #messenger-once-viewer.is-video.is-playing .messenger-once-play:not(:focus-visible):not(:hover) { opacity: .22; }
html:root body #messenger-once-viewer.is-video .messenger-once-remaining { position: absolute; bottom: 4px; left: 8px; border-radius: 10px; background: rgb(8 18 32 / .7); padding: 4px 8px; }
html:root body #messenger-once-viewer.is-image img { width: auto !important; height: auto !important; max-width: 100%; max-height: 65dvh; object-fit: contain; border-radius: 16px; }
html:root body #messenger-once-viewer .messenger-once-close { width: auto !important; height: 42px !important; padding: 0 24px !important; background: rgb(255 255 255 / .15) !important; border-radius: 24px !important; font-size: 14px; font-weight: 700; color: white; }
html:root body #messenger-once-viewer .messenger-once-error { margin: 0; font-size: 12px; text-align: center; }
html:root body #messenger-once-viewer.is-expiring .messenger-once-player { pointer-events: none; animation: once-media-dissolve 600ms ease-out both; }
html:root body #messenger-once-viewer .messenger-once-sparks { position: absolute; left: max(0px,calc(var(--once-progress) - 5px)); top: 0; width: 10px; height: 100%; background-image: radial-gradient(white 1px,transparent 1px); background-size: 4px 5px; }
@keyframes once-media-dissolve { to { opacity: 0; filter: blur(5px); transform: scale(.94); } }

html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) { display: flex !important; align-items: center !important; gap: 4px !important; padding: 5px !important; margin: 0 14px 10px !important; min-height: 44px; border: 0 !important; border-radius: 14px !important; overflow: hidden !important; background: var(--achievement-surface-soft) !important; }
html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) > button { display: flex !important; justify-content: center !important; align-items: center !important; flex: 1 1 0 !important; gap: 6px !important; width: auto !important; min-width: 0 !important; min-height: 36px !important; padding: 7px 10px !important; border: 0 !important; outline: 0 !important; border-radius: 10px !important; box-shadow: none !important; background: transparent !important; font-size: 12px !important; letter-spacing: 0 !important; text-transform: none !important; }
html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) > button.is-active { color: var(--color-dynamic,#3775ca) !important; background: var(--achievement-surface) !important; }
html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) svg { display: inline-flex !important; width: 20px !important; height: 20px !important; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) > button > span { display: inline !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media(max-width:767px) {
  html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) > button:not(.is-active) { flex: 0 0 40px !important; width: 40px !important; padding: 8px !important; }
  html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) > button:not(.is-active) > span { display: none !important; }
  html:root body #achievements-modal :is(.achievements-scope-tabs,.achievements-dialog-tabs) > button.is-active { flex: 1 1 0 !important; }
}
@media(prefers-reduced-motion:reduce) {
  html:root body #messenger-once-viewer *, html:root body #messenger-media-privacy-editor * { animation: none !important; transition: none !important; }
}

/* Privacy is a real control track, never floating over the previous message. */
html:root body #messenger-recording-panel .messenger-recording-actions { display: flex !important; position: static !important; width: max-content !important; height: auto !important; gap: 5px !important; align-items: center !important; flex-shrink: 0; }
html:root body #messenger-recording-panel .messenger-recording-actions > :is(button,.messenger-media-privacy),
html:root body .messenger-recording-draft-privacy > button { position: relative !important; inset: auto !important; transform: none !important; width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; padding: 6px !important; border-radius: 50% !important; flex: 0 0 34px !important; }
html:root body #messenger-recording-panel .messenger-recording-actions button > span:not(.messenger-icon) { display: none !important; }
html:root body #messenger-recording-panel .messenger-recording-actions > button::before,
html:root body #messenger-recording-panel .messenger-recording-actions > button::after { display: none !important; content: none !important; }
html:root body #messenger-recording-panel :is(.messenger-recording-actions,.messenger-recording-cancel) .messenger-icon,
html:root body #messenger-recording-panel :is(.messenger-recording-actions,.messenger-recording-cancel) svg { display: inline-flex !important; opacity: 1 !important; transform: none !important; }
html:root body #messenger-recording-panel .messenger-recording-actions svg, html:root body .messenger-recording-draft-privacy svg { width: 18px !important; height: 18px !important; }
html:root body #messenger-recording-panel.is-draft > .messenger-recording-draft { display: grid !important; grid-template-columns: 34px minmax(80px,1fr) auto 38px !important; align-items: center; gap: 8px !important; padding: 8px !important; }
html:root body #messenger-recording-panel.is-draft .messenger-recording-draft-delete { grid-column: 1 !important; grid-row: 1 !important; width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; }
html:root body #messenger-recording-panel.is-draft .messenger-recording-trim { grid-column: 2 !important; grid-row: 1 !important; }
html:root body #messenger-recording-panel.is-draft .messenger-recording-draft-privacy { grid-column: 3 !important; grid-row: 1 !important; }
html:root body #messenger-recording-panel.is-draft .messenger-recording-draft-send { grid-column: 4 !important; grid-row: 1 !important; width: 38px !important; height: 38px !important; min-width: 38px !important; min-height: 38px !important; }
html:root body .messenger-recording-draft-privacy { display: flex; gap: 4px; align-items: center; }
html:root body .messenger-recording-draft > audio { display: none !important; }
html:root body .messenger-recording-draft > video { display: block !important; position: static !important; inset: auto !important; transform: none !important; grid-column: 1 / -1; grid-row: 1; width: min(190px,48vw) !important; height: auto !important; aspect-ratio: 1; border-radius: 50%; object-fit: cover; justify-self: center; }
html:root body #messenger-recording-panel.is-draft .messenger-recording-draft.is-video > :not(video) { grid-row: 2 !important; }
html:root body .messenger-recording-draft-delete { width: 34px !important; height: 34px !important; padding: 6px !important; }
html:root body .messenger-recording-trim { min-width: 0 !important; height: 38px !important; }
html:root body #messenger-recording-panel.is-active:not(.is-draft) { display: flex !important; align-items: center !important; height: auto !important; min-height: 54px !important; padding: 8px !important; gap: 8px !important; }
html:root body #messenger-recording-panel .messenger-recording-status { min-width: 0 !important; width: auto !important; flex: 0 0 auto !important; position: static !important; background: transparent !important; box-shadow: none !important; padding: 0 !important; }
html:root body #messenger-recording-panel .messenger-recording-status strong { width: auto !important; min-width: 0 !important; padding: 0 !important; }
html:root body #messenger-recording-panel .messenger-recording-stop { color: white !important; }
html:root body #messenger-recording-panel .messenger-recording-stop svg rect { fill: currentColor !important; stroke: currentColor !important; }
html:root body #messenger-recording-panel .messenger-recording-status > span { display: none !important; }
html:root body #messenger-recording-panel .messenger-recording-wave { min-width: 0 !important; height: 28px !important; flex: 1; }
html:root body #messenger-recording-panel .messenger-recording-cancel { width: 34px !important; height: 34px !important; min-width: 34px !important; padding: 7px !important; }
html:root body #messenger-recording-panel .messenger-recording-cancel > span:not(.messenger-icon) { display: none !important; }

html:root body .messenger-pending-attachments article { grid-template-columns: 42px minmax(0,1fr) !important; padding: 10px !important; gap: 8px !important; }
html:root body .messenger-pending-attachment-actions { position: static !important; grid-column: 1 / -1 !important; display: flex !important; flex-direction: row !important; justify-content: flex-start !important; gap: 6px !important; margin: 0 !important; }
html:root body .messenger-pending-attachment-actions > button { position: relative !important; inset: auto !important; order: 0 !important; width: 34px !important; height: 34px !important; min-width: 34px !important; padding: 8px !important; border-radius: 10px !important; }
html:root body .messenger-pending-attachment-actions .messenger-media-privacy-trigger b:empty { display: none !important; }
html:root body .messenger-spoiler-label { gap: 8px !important; padding: 12px !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important; }
html:root body .messenger-spoiler-label > :is(svg,b) { position: static !important; inset: auto !important; transform: none !important; flex: 0 0 auto !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
html:root body .messenger-spoiler-label > svg { width: 20px !important; height: 20px !important; }
html:root body .messenger-spoiler-label > b { font-size: 14px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: normal !important; text-shadow: none !important; }
html:root body .messenger-voice-note { min-height: 50px !important; padding: 2px !important; }
html:root body .messenger-bubble:has(.messenger-voice-note) { padding: 8px 10px !important; width: min(340px,70%) !important; }
html:root body .messenger-voice-note-toggle { width: 36px !important; height: 36px !important; min-width: 36px !important; }
html:root body .messenger-voice-note-top { min-height: 24px !important; }
html:root body .messenger-voice-wave { height: 24px !important; }
html:root body .messenger-hidden-media { position: relative; display: grid; place-items: center; overflow: hidden; width: min(290px,60vw); height: 62px; border-radius: 16px; background: var(--msg-panel,#dae6f5); color: var(--msg-accent,#3775ca); }
html:root body .messenger-hidden-media.is-video { width: min(190px,48vw); height: auto; aspect-ratio: 1; border-radius: 50%; }
html:root body .messenger-hidden-media > span:first-child { position: absolute; inset: 12px; display: flex; align-items: center; justify-content: center; filter: blur(9px); opacity: .5; pointer-events: none; }
html:root body .messenger-hidden-label { position: relative; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; font-weight: 600; }
html:root body .messenger-hidden-label svg { width: 20px; height: 20px; }
html:root body .messenger-shared-media-viewer audio { display: block; width: min(360px,80vw); }
html:root body .messenger-private-audio { width: min(340px,80vw); padding: 14px !important; border-radius: 18px; background: var(--vmesta-ui-panel,#dae6f5); color: var(--vmesta-ui-ink,#23549a); display: flex; align-items: center; gap: 10px; }
html:root body .messenger-private-audio audio { display: none !important; }
html:root body .messenger-shared-media-viewer video { max-width: 100%; max-height: 65dvh; object-fit: contain; }

/* Built-in editor palette and vertical size rail, outside the image canvas. */
@media(min-width:768px) { html:root body #mobile-nav-theme-settings { display: none !important; } }
html:root body .vmesta-image-editor-stage-wrap { position: relative !important; padding: 12px 12px 12px 80px !important; }
html:root body .vmesta-image-editor-stage-wrap > .vmesta-image-editor-tool-settings { position: absolute; z-index: 12; left: 12px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; gap: 12px; overflow: visible !important; width: 48px; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings { min-width: 0 !important; width: 48px !important; background: transparent !important; padding: 0 !important; flex-direction: column !important; }
html:root body #vmesta-image-editor .vmesta-image-editor-palette button::before { content: none !important; }
html:root body #vmesta-image-editor .vmesta-image-editor-palette button[aria-pressed="true"]::after { content: '✓' !important; }
html:root body #vmesta-image-editor .vmesta-image-editor-range span { display: block !important; }
html:root body #profile-layout-theme-settings svg { width: 18px; height: 18px; }
html:root body #profile-layout-theme-settings button { display: inline-flex; align-items: center; gap: 8px; }
html:root body .vmesta-image-editor-tool-settings > :is(.vmesta-image-editor-divider,.vmesta-image-editor-text) { display: none !important; }
html:root body .vmesta-image-editor-stage-wrap .vmesta-image-editor-range { display: flex; flex-direction: column; align-items: center; min-width: 0 !important; gap: 8px; padding: 8px 0; }
html:root body .vmesta-image-editor-stage-wrap .vmesta-image-editor-range input { writing-mode: vertical-lr; direction: rtl; appearance: auto; width: 26px !important; height: 120px !important; cursor: pointer; accent-color: var(--color-dynamic,#3775ca); }
html:root body .vmesta-image-editor-stage-wrap .vmesta-image-editor-range span { font-size: 11px; color: #fff; white-space: nowrap; }
html:root body #vmesta-image-editor-color { display: grid; place-items: center; width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; padding: 5px !important; border-radius: 50% !important; background: #fff; }
html:root body #vmesta-image-editor-color i { width: 28px; height: 28px; border-radius: 50%; background: var(--editor-color); }
html:root body .vmesta-image-editor-palette { position: absolute; z-index: 30; left: 54px; bottom: 0; display: grid; grid-template-columns: repeat(5,32px); gap: 8px; width: 216px; padding: 12px; border-radius: 16px; background: var(--theme-surface-panel,#fff); }
html:root body .vmesta-image-editor-palette.hidden { display: none !important; }
html:root body .vmesta-image-editor-palette button { width: 32px; height: 32px; min-width: 32px; min-height: 32px; border-radius: 50%; background: var(--editor-color); padding: 0; }
html:root body .vmesta-image-editor-palette button[aria-pressed="true"]::after { content: '✓'; display: grid; place-items: center; width: 22px; height: 22px; margin: auto; border-radius: 50%; color: #fff; background: rgb(0 0 0 / .45); }
html:root body .vmesta-image-editor-palette label { grid-column: 1/-1; display: flex; align-items: center; gap: 10px; font-size: 12px; }
html:root body .vmesta-image-editor-palette input { width: 120px; min-width: 0; padding: 6px; background: var(--theme-surface-control,#e5eef9); border-radius: 8px; }
html:root body .vmesta-image-editor-crop:not(.hidden) { box-shadow: inset 0 0 0 2px #fff,0 0 0 9999px rgb(0 0 0 / .35) !important; }
html:root body .vmesta-image-editor-crop > [data-crop-handle] { box-shadow: inset 0 0 0 2px #fff !important; width: 18px !important; height: 18px !important; }
html:root body .cover-avatar-head { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 16px; background: var(--theme-surface-panel,#fff); }
html:root body .cover-avatar-head > img { width: 84px; height: 84px; object-fit: cover; border-radius: 24px; }
html:root body .cover-avatar-head h3 { font-weight: 700; }
html:root body .cover-avatar-head p { font-size: 12px; opacity: .75; margin: 6px 0 12px; }
html:root body .cover-avatar-head button, html:root body .profile-layout-theme-settings button { padding: 10px 14px; margin: 4px; border-radius: 12px; background: var(--theme-surface-control,#e5eef9); color: var(--color-dynamic,#3775ca); }
html:root body #photo-modal.is-cover-embedded { position: static !important; inset: auto !important; padding: 0 !important; background: transparent !important; backdrop-filter: none !important; opacity: 1 !important; }
html:root body #photo-modal.is-cover-embedded > div { max-width: none !important; max-height: none !important; overflow: visible !important; transform: none !important; }
@media(max-width:767px) {
  html:root body #mobile-profile-blocks:not([hidden]) { display: grid; gap: 12px; padding: 0 12px 16px; }
  html:root body #mobile-profile-blocks #profile-contact-links-bar:not(.hidden) { display: flex !important; width: 100%; min-width: 0; margin: 0 !important; padding: 10px; border-radius: 16px; background: var(--theme-surface-panel,#fff); }
  html:root body #mobile-profile-blocks #profile-contact-links-bar-list { display: flex; width: 100%; flex-wrap: nowrap; overflow-x: auto; gap: 8px; }
  html:root body #mobile-profile-blocks > .achievement-sidebar-card { padding: 14px; }
  html:root body #mobile-profile-blocks .achievement-level-trigger { padding-top: 10px; }
  html:root body #mobile-profile-blocks .profile-contact-links-bar-list { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 8px; }
  html:root body #mobile-profile-blocks .profile-contact-links-bar-list > * { flex-shrink: 0; }
  html:root body #profile-left-rail .nav-item { display: flex !important; align-items: center !important; }
  html:root body #profile-left-rail .nav-item .nav-text { flex: 1; min-width: 0; }
  html:root body #profile-left-rail .nav-alert-indicator { position: static !important; margin-left: auto !important; margin-right: 0 !important; transform: none !important; flex-shrink: 0; }
  html:root body .messenger-bubble:has(.messenger-voice-note) { width: min(260px,72vw) !important; }
  html:root body #messenger-recording-panel.is-draft > .messenger-recording-draft { grid-template-columns: 34px minmax(68px,1fr) auto 38px !important; gap: 4px !important; }
  html:root body .messenger-recording-draft-privacy { flex-direction: row; gap: 2px; }
  html:root body #messenger-recording-panel .messenger-recording-actions { flex-wrap: nowrap !important; width: max-content !important; max-width: none !important; gap: 3px !important; }
  html:root body .vmesta-image-editor-stage-wrap { padding-left: 66px !important; }
  html:root body .vmesta-image-editor-stage-wrap > .vmesta-image-editor-tool-settings { left: 6px; }
  html:root body .vmesta-image-editor-stage-wrap .vmesta-image-editor-range input { height: 94px !important; }
  html:root body .cover-avatar-head { align-items: flex-start; }
  html:root body .cover-avatar-head > img { width: 58px; height: 58px; border-radius: 18px; }
}

/* v131: one privacy entry, stacked recording controls, type-specific viewers. */
html:root body .messenger-shared-media-viewer figure { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html:root body .messenger-private-video-note button .messenger-icon svg,
html:root body .messenger-private-video-note button .messenger-icon svg path { stroke: white !important; fill: white !important; }
html:root body #messenger-recording-panel .messenger-recording-actions .messenger-recording-stop .messenger-icon svg,
html:root body #messenger-recording-panel .messenger-recording-actions .messenger-recording-stop .messenger-icon svg path { fill: none !important; stroke: white !important; stroke-width: 3 !important; width: 20px !important; height: 20px !important; }
html:root body #messenger-recording-panel .messenger-recording-actions .messenger-recording-stop .messenger-icon { position: static !important; clip-path: none !important; overflow: visible !important; width: 20px !important; height: 20px !important; }
html:root body #messenger-recording-panel .messenger-recording-actions .messenger-recording-send .messenger-icon svg,
html:root body #messenger-recording-panel .messenger-recording-actions .messenger-recording-send .messenger-icon svg path { fill: none !important; stroke: white !important; }
html:root body .messenger-once-card.is-video > span { display: flex !important; flex-direction: column; flex: none !important; width: 85%; gap: 4px; }
html:root body .messenger-once-card.is-video :is(strong,small,em) { position: static !important; inset: auto !important; line-height: 1.3; }
html:root body .messenger-pin-event { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
html:root body #vmesta-image-editor .vmesta-image-editor-stage-wrap .vmesta-image-editor-zoom:not(.hidden) { display: flex !important; flex-direction: column !important; align-items: center; gap: 8px; width: 48px !important; min-width: 0 !important; background: transparent !important; }
html:root body #vmesta-image-editor .vmesta-image-editor-stage-wrap .vmesta-image-editor-zoom input { writing-mode: vertical-lr; direction: rtl; width: 26px !important; height: 100px !important; accent-color: var(--color-dynamic,#3775ca); }
html:root body #vmesta-image-editor .vmesta-image-editor-stage-wrap .vmesta-image-editor-zoom svg { display: none !important; }
html:root body #vmesta-image-editor .vmesta-image-editor-stage-wrap .vmesta-image-editor-zoom span { color: #fff; font-size: 11px; }
html:root body .cover-avatar-upload { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; }
html:root body .cover-avatar-upload button { padding: 10px 14px; border-radius: 12px; background: var(--theme-surface-control,#e5eef9); color: var(--color-dynamic,#3775ca); }
html:root body .mobile-route-sections { display: none; }
html:root body #messenger-recording-panel.is-active:not(.is-draft) { min-height: 128px !important; align-items: flex-end !important; background: linear-gradient(to top,var(--theme-surface-control,#dce8f6) 54px,transparent 54px) !important; box-shadow: none !important; }
html:root body .messenger-composer.is-recording:not(.has-recording-draft) { background: transparent !important; }
html:root body #messenger-recording-panel .messenger-recording-actions { display: grid !important; grid-template-columns: 38px !important; grid-template-rows: 28px 38px 38px !important; gap: 5px !important; align-items: center !important; justify-items: center !important; }
html:root body #messenger-recording-panel .messenger-recording-actions > button { grid-column: 1 !important; position: relative !important; inset: auto !important; margin: 0 !important; }
html:root body #messenger-recording-panel .messenger-recording-actions > .messenger-media-privacy { grid-row: 1; width: 28px !important; height: 28px !important; min-width: 28px !important; min-height: 28px !important; border-radius: 50% !important; }
html:root body #messenger-recording-panel .messenger-recording-actions > .messenger-recording-stop { grid-row: 2; width: 38px !important; height: 38px !important; min-width: 38px !important; background: #ed4e64 !important; color: #fff !important; border: 0 !important; border-radius: 50% !important; animation: none !important; }
html:root body #messenger-recording-panel .messenger-recording-actions > .messenger-recording-send { grid-row: 3; width: 38px !important; height: 38px !important; min-width: 38px !important; border-radius: 50% !important; }
html:root body #messenger-recording-panel .messenger-recording-wave { align-self: flex-end !important; display: flex !important; align-items: center !important; overflow: hidden !important; }
html:root body #messenger-recording-panel .messenger-recording-wave i { transform: none !important; animation: none !important; }
html:root body #messenger-recording-panel .messenger-recording-draft-privacy { width: 34px !important; min-width: 34px !important; }
html:root body .messenger-composer.is-recording .messenger-composer-reply { position: relative !important; inset: auto !important; transform: none !important; width: 100% !important; max-height: 52px !important; margin: 0 0 6px !important; padding: 6px 10px !important; }
html:root body .messenger-composer.is-recording .messenger-composer-reply span { max-height: 18px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html:root body .messenger-private-video-note { position: relative; width: min(440px,80vw,60dvh); aspect-ratio: 1; overflow: hidden; border-radius: 50%; background: var(--theme-surface-control,#dce8f6); }
html:root body .messenger-private-video-note video { display: block; width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 50% !important; }
html:root body .messenger-private-video-note button { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; color: var(--theme-accent,#3674d3); background: var(--theme-surface-control,#dce8f6); }
html:root body .messenger-private-video-note button svg { width: 20px; height: 20px; }
html:root body .messenger-private-video-note progress { position: absolute; bottom: 8px; left: 25%; width: 50%; height: 3px; accent-color: var(--theme-accent,#3674d3); }
html:root body #messenger-once-viewer.is-image .messenger-once-player { width: min(920px,92vw) !important; height: auto !important; aspect-ratio: auto !important; border-radius: 16px !important; overflow: hidden !important; }
html:root body #messenger-once-viewer.is-image img { border-radius: 16px !important; width: auto !important; max-width: 100% !important; height: auto !important; max-height: 65dvh !important; object-fit: contain !important; }
html:root body .messenger-call-choice > .messenger-audio-call-button { background: transparent !important; box-shadow: none !important; }
html:root body .messenger-call-choice svg { color: var(--color-dynamic,#3775ca) !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.8 !important; }
html:root body .cover-avatar-gallery { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 16px 0; }
html:root body .cover-avatar-gallery button { position: relative; aspect-ratio: 1; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: var(--theme-surface-control,#dce8f6); }
html:root body .cover-avatar-gallery img { width: 100%; height: 100%; object-fit: cover; }
html:root body .cover-avatar-gallery small { position: absolute; left: 4px; bottom: 4px; padding: 4px 6px; border-radius: 8px; background: var(--theme-surface-control,#dce8f6); color: var(--theme-accent,#3674d3); }
@media(max-width:767px) {
  html:root body #profile-tabs-container { min-height: 56px !important; contain: layout; transition: none !important; }
  html:root body .friends-index-toolbar { transition: none !important; }
  html:root body .mobile-route-sections { display: block !important; margin: 8px 0; background: var(--theme-surface-control,#e4edf8); border-radius: 16px; }
  html:root body .mobile-route-sections > summary { display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: var(--theme-accent,#3674d3); font-size: 13px; font-weight: 800; cursor: pointer; }
  html:root body .mobile-route-sections > summary svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  html:root body .mobile-route-sections > div { padding: 8px; }
  html:root body .mobile-route-sections :is(#side-friends,.spaces-top-panel) { display: block !important; position: static !important; inset: auto !important; transform: none !important; width: 100% !important; max-height: none !important; margin: 0 !important; animation: none !important; }
  html:root body #mobile-achievements-peek { display: none !important; }
  html:root body .spaces-index-scope > .mobile-route-sections-trigger { display: grid !important; place-items: center !important; min-width: 38px !important; flex: 0 0 38px !important; }
  html:root body .mobile-route-sections-trigger svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  html:root body #mobile-spaces-sections > summary { display: none !important; }
  html:root body .cover-avatar-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* v132: isolated controls, visible appeal, and actual mobile information tabs. */
html:root body #moderation-appeal-modal {
  z-index: 2147483100 !important; top: var(--mobile-visible-top,0px) !important;
  height: var(--mobile-visible-height,100dvh) !important; bottom: auto !important;
  overflow: auto !important; padding: 16px !important; align-items: center;
}
html:root body #moderation-appeal-modal > section {
  max-height: 100% !important; overflow: auto !important; min-height: 0 !important;
  border: 0 !important; background: var(--theme-surface-panel,#fff);
}
html:root body #moderation-appeal-details { display: block !important; min-height: 120px; width: 100%; font-size: 16px; }
html:root body .post-selected-media-card:has(.post-selected-media-actions) {
  display: grid !important; grid-template-columns: 42px minmax(0,1fr) 94px !important;
  align-items: center; gap: 8px !important;
}
html:root body .post-selected-media-card .post-selected-media-copy { min-width: 0 !important; overflow: hidden; }
html:root body .post-selected-media-card .post-selected-media-actions {
  display: grid !important; grid-template-columns: repeat(2,44px) !important; gap: 6px !important;
  position: static !important; inset: auto !important; width: 94px !important;
}
html:root body .post-selected-media-card .post-selected-media-actions > button {
  position: static !important; inset: auto !important; transform: none !important;
  width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
  padding: 11px !important; border: 0 !important; border-radius: 12px !important;
  background: var(--theme-surface-control,#e4edf8); color: var(--color-dynamic,#3775ca);
  font-size: 22px !important; line-height: 1 !important;
}
html:root body .post-selected-media-card .post-selected-media-actions svg { width: 22px !important; height: 22px !important; }
html:root body #tab-messages .messenger-composer.is-recording {
  background: transparent !important; background-image: none !important; box-shadow: none !important;
  border: 0 !important; padding-top: 0 !important;
}
html:root body #tab-messages .messenger-composer.is-recording::before,
html:root body #tab-messages .messenger-composer.is-recording::after { display: none !important; }
html:root body #messenger-recording-panel.is-active:not(.is-draft) {
  background: linear-gradient(to top,var(--msg-panel,#e4edf8) 0 54px,transparent 54px) !important;
  box-shadow: none !important; border: 0 !important;
}
html:root body #messenger-recording-panel.is-draft {
  display: flex !important; flex-direction: column !important; gap: 6px !important;
  background: transparent !important; padding: 0 !important;
}
html:root body #messenger-recording-panel .messenger-recording-draft-toolbar {
  display: flex; align-items: center; justify-content: flex-end; min-height: 34px;
  width: 100%; padding: 0 6px; background: transparent;
}
html:root body #messenger-recording-panel.is-draft > .messenger-recording-draft {
  grid-template-columns: 34px minmax(80px,1fr) 38px !important; width: 100%;
}
html:root body #messenger-recording-panel.is-draft .messenger-recording-draft-send { grid-column: 3 !important; }
html:root body .messenger-shared-media-viewer figure:has(.messenger-private-audio) {
  display: flex !important; flex-direction: column !important; align-items: center !important;
  width: auto !important; max-width: 92vw !important; background: transparent !important;
}
html:root body .messenger-shared-media-viewer .messenger-private-audio {
  display: flex !important; position: relative !important; align-items: center !important;
  width: min(360px,88vw) !important; min-height: 78px !important; padding: 14px !important;
  border-radius: 20px !important; background: var(--theme-surface-panel,#e4edf8) !important;
  color: var(--theme-text-main,#285797) !important; gap: 12px !important; box-shadow: none !important;
}
html:root body .messenger-private-audio .messenger-voice-note-content { display: flex !important; flex-direction: column !important; min-width: 0 !important; flex: 1 !important; width: auto !important; gap: 6px; }
html:root body .messenger-private-audio .messenger-voice-wave { display: block !important; position: relative !important; width: 100% !important; max-width: none !important; min-width: 0 !important; height: 26px !important; }
html:root body .messenger-private-audio .messenger-voice-wave > span { display: flex !important; align-items: center !important; width: 100% !important; height: 100% !important; gap: 1px !important; }
html:root body .messenger-private-audio .messenger-voice-wave i { display: block !important; height: var(--voice-wave-height,8px) !important; min-width: 1px !important; max-width: none !important; flex: 1 !important; background: var(--color-dynamic,#3775ca) !important; opacity: .55; }
html:root body .messenger-private-audio .messenger-voice-wave i.is-played { opacity: 1; }
html:root body .messenger-private-audio .messenger-voice-note-meta { display: flex !important; align-items: center !important; gap: 8px !important; }
html:root body .messenger-private-audio .messenger-voice-note-toggle { flex: 0 0 40px !important; width: 40px !important; height: 40px !important; border: 0 !important; background: var(--theme-surface-control,#d4e3f7) !important; color: var(--color-dynamic,#3775ca) !important; }
html:root body .messenger-private-audio .messenger-voice-note-toggle svg { width: 18px !important; height: 18px !important; }
html:root body :is(#messenger-photo-viewer,.messenger-shared-media-viewer):has(.messenger-private-audio) {
  background: rgb(5 12 23 / .55) !important;
  backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important;
}
html:root body :is(.post-composer,.post-form,.post-form-container,.space-composer,.post-comment-form,.comment-area-wrapper,#post-viewer) .emoji-trigger {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important;
  flex: 0 0 44px !important; padding: 10px !important;
}
html:root body :is(.post-composer,.post-form,.post-form-container,.space-composer,.post-comment-form,.comment-area-wrapper,#post-viewer) .emoji-trigger svg { width: 24px !important; height: 24px !important; }
@media (max-width:767px) {
  html:root body #mobile-profile-blocks[hidden] { display: none !important; }
  html:root body.mobile-about-section #content-main > .tab-content { display: none !important; }
  html:root body #mobile-profile-blocks { display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 12px 0 !important; }
  html:root body .mobile-about-heading { display: flex; align-items: center; gap: 8px; padding: 10px; border-radius: 16px; background: var(--theme-surface-panel,#fff); }
  html:root body #mobile-about-links { flex: 1; min-width: 0; }
  html:root body #mobile-about-links #profile-contact-links-bar { margin: 0 !important; padding: 0 !important; background: transparent !important; }
  html:root body #mobile-about-details { flex: 0 0 auto; min-height: 44px; padding: 8px 12px; border-radius: 12px; background: var(--theme-surface-control,#e4edf8); color: var(--color-dynamic,#3775ca); font-size: 13px; font-weight: 700; }
  html:root body .mobile-about-tabs { display: flex; gap: 6px; padding: 6px; border-radius: 16px; background: var(--theme-surface-panel,#fff); }
  html:root body .mobile-about-tabs button { display: flex; align-items: center; justify-content: center; gap: 8px; flex: 1; min-height: 44px; padding: 8px; border-radius: 12px; color: var(--theme-text-muted,#6b82a5); }
  html:root body .mobile-about-tabs button.is-active { flex: 2; background: var(--theme-surface-control,#e4edf8); color: var(--color-dynamic,#3775ca); }
  html:root body .mobile-about-tabs button:not(.is-active) span { display: none; }
  html:root body .mobile-about-tabs svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
  html:root body #mobile-about-panels > * { margin: 0 !important; width: 100% !important; }
  html:root body #mobile-profile-blocks:not(.is-space-about)[data-panel="achievements"] #mobile-about-panels > :not(.achievement-sidebar-card),
  html:root body #mobile-profile-blocks:not(.is-space-about)[data-panel="gifts"] #mobile-about-panels > :not(#profile-gifts-card),
  html:root body #mobile-profile-blocks:not(.is-space-about)[data-panel="interests"] #mobile-about-panels > :not(#profile-interests-card) { display: none !important; }
  html:root body #mobile-profile-blocks.is-space-about .mobile-about-tabs { display: none; }
  html:root body.mobile-about-section #profile-tabs-container .tab-btn:not(.is-mobile-about-active) { background: transparent !important; color: var(--color-dynamic,#3775ca) !important; flex: 1 !important; }
  html:root body.mobile-about-section #profile-tabs-container .tab-btn:not(.is-mobile-about-active) .profile-tab-label { display: none !important; }
  html:root body.mobile-about-section #profile-tabs-container .is-mobile-about-active { flex: 2 !important; background: var(--theme-surface-control,#e4edf8) !important; border: 0 !important; }
  html:root body.mobile-about-section #profile-tabs-container .profile-tabs-inner { padding-right: .42rem !important; }
  html:root body.mobile-about-section.space-route #profile-tabs-container .is-mobile-about-active { flex: 3.4 !important; }
  html:root body.mobile-about-section.space-route #profile-tabs-container .tab-btn:not(.is-mobile-about-active) { flex: 0 0 2.8rem !important; }
  html:root body.mobile-about-section #profile-tabs-container #about-profile-button.is-mobile-about-active { width: auto !important; gap: 8px !important; }
  html:root body.mobile-about-section #profile-tabs-container #about-profile-button.is-mobile-about-active .profile-tab-label { display: inline !important; max-width: none !important; width: auto !important; opacity: 1 !important; visibility: visible !important; font-size: 13px !important; line-height: 1.3 !important; }
  html:root body #mobile-profile-blocks.is-space-about #mobile-about-links { display: none; }
  html:root body #mobile-profile-peek { display: none !important; }
  html:root body #mobile-spaces-sections:not([open]) { display: none !important; }
  html:root body #space-page-root.is-mobile-rating .spaces-index-results-panel { display: none !important; }
  html:root body .spaces-index-scope > .mobile-route-sections-trigger { display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px; flex: 1 !important; min-width: 40px !important; }
  html:root body .spaces-index-scope > .mobile-route-sections-trigger:not(.is-active) strong { display: none !important; }
  html:root body .spaces-index-scope > .mobile-route-sections-trigger.is-active { flex: 2.6 !important; background: var(--theme-surface-control,#e4edf8) !important; }
  html:root body #mobile-spaces-sections { padding: 0 !important; background: transparent !important; }
  html:root body #mobile-spaces-sections > div { padding: 0 !important; }
  html:root body #mobile-spaces-sections .spaces-top-panel { border: 0 !important; padding: 16px !important; border-radius: 18px; background: var(--theme-surface-panel,#fff); }
  html:root body #mobile-spaces-sections .spaces-top-nominations { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; margin-bottom: 12px !important; }
  html:root body #mobile-spaces-sections .spaces-top-panel > * { max-width: 100%; }
  html:root body .space-profile-media-tabs { display: flex !important; align-items: center !important; gap: 6px !important; flex-wrap: wrap !important; }
  html:root body .space-profile-media-tabs > button { min-height: 44px !important; margin: 0 !important; }
  html:root body .space-profile-photo-grid { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 6px !important; }
  html:root body .space-profile-photo-tile { width: 100% !important; aspect-ratio: 1 !important; height: auto !important; }
  html:root body .space-profile-albums-grid { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  html:root body .space-profile-photos-panel .space-profile-photo-field { width: 100% !important; min-width: 0 !important; }
}

/* v133: compact profile controls and isolated message attention. */
html:root body .cover-avatar-library { margin: 18px 0; padding: 12px; border: 0; border-radius: 18px; background: var(--theme-surface-control,#e4edf8); }
html:root body .cover-avatar-library > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; color: var(--theme-text-primary,#fff); }
html:root body .cover-avatar-library > summary::-webkit-details-marker { display: none; }
html:root body .cover-avatar-library > summary span:first-child { display: grid; gap: 3px; }
html:root body .cover-avatar-library > summary strong { font-size: 16px; font-weight: 800; }
html:root body .cover-avatar-library > summary small { font-size: 12px; color: var(--theme-text-muted,#9aaabd); }
html:root body .cover-avatar-count { padding: 5px 9px; border-radius: 9px; background: var(--theme-surface-panel,#182233); font-size: 12px; }
html:root body .cover-avatar-library-body { display: grid; gap: 12px; padding-top: 16px; }
html:root body .cover-avatar-add { display: grid; place-items: center; gap: 8px; min-height: 116px; width: 100%; border: 0; border-radius: 14px; background: color-mix(in srgb,var(--color-dynamic,#3775ca) 13%,var(--theme-surface-panel,#182233)); color: var(--color-dynamic,#3775ca); font-size: 15px; font-weight: 750; }
html:root body .cover-avatar-add svg { width: 30px; height: 30px; }
html:root body .cover-avatar-gallery { margin: 0; }
html:root body .cover-avatar-edit-current { justify-self: start; min-height: 42px; padding: 8px 12px; border: 0; border-radius: 11px; background: var(--theme-surface-panel,#182233); color: var(--theme-text-primary,#fff); font-size: 13px; }
html:root body .cover-avatar-edit-current { padding:.72rem 1rem; border:1px solid color-mix(in srgb,var(--color-dynamic,#258a5c) 48%,transparent); border-radius:1rem; background:linear-gradient(125deg,color-mix(in srgb,var(--color-dynamic,#258a5c) 24%,var(--theme-surface-panel,#182233)),var(--theme-surface-panel,#182233)); color:var(--theme-text-primary,#fff); box-shadow:0 .4rem 1rem color-mix(in srgb,var(--color-dynamic,#258a5c) 16%,transparent); font-weight:800; }
html:root body .cover-avatar-library { border:1px solid color-mix(in srgb,var(--color-dynamic,#258a5c) 18%,transparent); }
html:root body .cover-avatar-library > summary::after { content:'⌄'; display:grid; place-items:center; flex:0 0 2rem; width:2rem; height:2rem; border-radius:.7rem; background:var(--theme-surface-panel,#182233); color:var(--color-dynamic,#258a5c); font-size:1.25rem; font-weight:900; transition:transform .2s; }
html:root body .cover-avatar-library[open] > summary::after { transform:rotate(180deg); }
html:root body #profile-layout-theme-settings { padding: 0 !important; border: 0 !important; background: transparent !important; }
html:root body #profile-layout-theme-settings .profile-layout-accordion { border: 0; border-radius: 16px; overflow: hidden; background: var(--theme-surface-control,#e4edf8); }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary { display: flex; align-items: center; justify-content: space-between; padding: 14px; cursor: pointer; list-style: none; }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary::-webkit-details-marker { display: none; }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary span:first-child { display: grid; gap: 2px; }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary small { color: var(--theme-text-muted,#9aaabd); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary strong { color: var(--theme-text-primary,#fff); font-size: 16px; font-weight: 800; }
html:root body .profile-layout-accordion-content { display: grid; gap: 6px; padding: 0 10px 10px; }
html:root body #profile-layout-theme-settings .profile-layout-accordion-content > button,
html:root body #profile-layout-theme-settings .mobile-nav-inline > summary { display: flex; align-items: center; min-height: 42px; width: 100%; margin: 0; padding: 9px 11px; border: 0; border-radius: 10px; background: var(--theme-surface-panel,#182233); color: var(--theme-text-primary,#fff); font-size: 13px; font-weight: 700; text-align: left; }
html:root body #profile-layout-theme-settings .mobile-nav-inline > summary { justify-content: space-between; list-style: none; cursor: pointer; }
html:root body #profile-layout-theme-settings .mobile-nav-inline > summary::-webkit-details-marker { display: none; }
html:root body #profile-layout-theme-settings .mobile-nav-inline #mobile-nav-theme-settings { padding: 10px 0 0 !important; background: transparent !important; border: 0 !important; }
@media(min-width:768px) { html:root body #profile-layout-theme-settings .mobile-nav-inline { display: none !important; } }
html:root body #nav-messages { animation: none !important; filter: none !important; transform: none !important; }
html:root body #messages-nav-dot { --nav-alert-color: #2583ff; position: relative !important; flex: 0 0 auto !important; min-width: 20px; height: 20px; padding: 0 4px; margin-left: auto; background: #2583ff !important; color: #fff !important; font-size: 11px; }
html:root body #messages-nav-dot.is-alerting::before,
html:root body #messages-nav-dot.is-alerting::after { inset: -4px !important; animation: nav-alert-beacon 1.45s ease-out infinite !important; }
html:root body .mobile-bottom-indicator:not([hidden]) { display: grid !important; place-items: center; width: 18px !important; min-width: 18px; height: 18px !important; top: -8px !important; right: -10px !important; padding: 0 2px; border: 0 !important; border-radius: 99px; background: var(--mobile-attention-color,#ef4444) !important; color: #fff; font-size: 10px; line-height: 1; font-style: normal; font-weight: 800; box-sizing: border-box !important; }
html:root body [data-mobile-section="messages"] { --mobile-attention-color: #2583ff; }
html:root body .mobile-bottom-indicator.is-alerting { animation: vmesta-badge-pulse 1.5s ease-in-out infinite; }
@keyframes vmesta-badge-pulse { 50% { box-shadow: 0 0 0 5px rgb(37 131 255 / .16); } }
html:root body .messenger-bubble.is-reply-swiping { transform: translateX(var(--reply-swipe-x,0px)) !important; transition: none !important; overflow: visible !important; }
html:root body .messenger-bubble.is-reply-swiping::after { content: '↩'; position: absolute; right: -41px; top: 50%; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--msg-panel,var(--theme-surface-control,#e4edf8)); color: var(--color-dynamic,#3775ca); font-size: 24px; transform: translateY(-50%) scale(calc(.65 + var(--reply-swipe-progress,0) * .35)); opacity: calc(.3 + var(--reply-swipe-progress,0) * .7); pointer-events: none; }
html:root body #messenger-recording-panel.is-active:not(.is-draft) { min-height: 0 !important; height: auto !important; background: var(--msg-panel,var(--theme-surface-control,#e4edf8)) !important; border-radius: 16px !important; padding: 8px !important; overflow: visible !important; }
html:root body #messenger-recording-panel .messenger-recording-wave { min-height: 34px; }
html:root body #messenger-recording-panel .messenger-recording-wave i { animation: none !important; transform-origin: center !important; }
html:root body #messenger-recording-panel .messenger-recording-wave i:nth-child(3n) { animation-delay: -.35s !important; }
html:root body #messenger-recording-panel .messenger-recording-wave i:nth-child(4n) { animation-delay: -.55s !important; }
html:root body .messenger-composer.is-recording { display: grid !important; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: auto auto !important; gap: 6px !important; padding: 6px !important; background: var(--msg-panel,var(--theme-surface-panel,#182233)) !important; overflow: visible !important; }
html:root body .messenger-composer.is-recording > .messenger-composer-reply { grid-column: 1 !important; grid-row: 1 !important; width: 100% !important; max-height: none !important; min-height: 48px !important; margin: 0 !important; padding: 7px 10px !important; z-index: 1 !important; }
html:root body .messenger-composer.is-recording > .messenger-composer-reply span { display: flex !important; flex-direction: column !important; min-width: 0; max-height: none !important; overflow: hidden; white-space: normal !important; }
html:root body .messenger-composer.is-recording > .messenger-composer-reply small { display: block !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-height: 17px; }
html:root body .messenger-composer.is-recording > #messenger-recording-panel { grid-column: 1 !important; grid-row: 2 !important; width: 100% !important; z-index: 2 !important; }
html:root body .messenger-composer.is-recording:not(.has-reply) > #messenger-recording-panel { grid-row: 1 !important; }
html:root body #messenger-recording-panel .messenger-recording-actions { align-self: center !important; }

/* v135: recording has exactly one in-flow control track. Hidden composer
   accessories must not create implicit grid rows below the recording panel. */
html:root body .messenger-composer.is-recording {
  grid-template-rows: auto !important;
  min-height: 0 !important;
  height: auto !important;
  align-content: end !important;
}
html:root body.mobile-input-surface-open .messenger-composer.is-recording {
  padding-bottom: 6px !important;
}
html:root body .messenger-composer.is-recording > :not(#messenger-recording-panel):not(.messenger-composer-reply) {
  display: none !important;
}
html:root body .messenger-composer.is-recording > #messenger-recording-panel {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}
/* v136: one stable recording track from permission request through lock/send.
   All controls stay in reserved slots; none may float over the last bubble. */
html:root body #messenger-recording-panel.is-active:not(.is-draft) {
  box-sizing: border-box !important;
  height: 130px !important;
  min-height: 130px !important;
  max-height: 130px !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
html:root body #messenger-recording-panel .messenger-recording-status {
  flex: 0 0 66px !important;
  width: 66px !important;
  white-space: nowrap !important;
}
html:root body #messenger-recording-panel .messenger-recording-actions {
  flex: 0 0 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 114px !important;
  min-height: 114px !important;
  grid-template-rows: 28px 38px 38px !important;
}
html:root body #messenger-recording-panel .messenger-recording-actions > .messenger-recording-stop {
  display: grid !important;
  visibility: visible !important;
}
html:root body #messenger-recording-panel:not(.is-locked) .messenger-recording-actions > .messenger-recording-stop {
  visibility: hidden !important;
  pointer-events: none !important;
}
html:root body #messenger-recording-panel .messenger-recording-wave i {
  height: var(--recording-bar-height,3px) !important;
  animation: none !important;
  transform: none !important;
}
/* v137: the trash, elapsed time and live wave share the microphone baseline.
   The older flex centering left the first two controls one row too high. */
html:root body #messenger-recording-panel.is-active:not(.is-draft) > .messenger-recording-cancel,
html:root body #messenger-recording-panel.is-active:not(.is-draft) > .messenger-recording-status,
html:root body #messenger-recording-panel.is-active:not(.is-draft) > .messenger-recording-wave {
  align-self: flex-end !important;
  box-sizing: border-box !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft) > .messenger-recording-cancel {
  width: 38px !important;
  min-width: 38px !important;
  flex: 0 0 38px !important;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft) > .messenger-recording-status {
  position: static !important;
  inset: auto !important;
  width: 66px !important;
  min-width: 66px !important;
  max-width: 66px !important;
  flex: 0 0 66px !important;
  padding: 0 !important;
  overflow: visible !important;
  white-space: nowrap !important;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft) > .messenger-recording-wave {
  min-width: 0 !important;
  flex: 1 1 0 !important;
}
@media (max-width:767px) {
  /* A native keyboard can cover 100dvh without changing it. Use the measured
     visual viewport while it is open, keeping the timer inside the chat. */
  html:root body.mobile-keyboard-open.messages-route .messenger-shell.has-active-chat {
    height: max(240px,calc(var(--mobile-visible-height,100dvh) - 4.25rem)) !important;
    max-height: max(240px,calc(var(--mobile-visible-height,100dvh) - 4.25rem)) !important;
  }
}
html:root body .messenger-video-note:not(.has-media-frame) {
  background: radial-gradient(circle at 45% 38%,var(--msg-accent-soft,#243958),var(--msg-panel,#152536) 72%) !important;
}
html:root body .messenger-video-note:not(.has-media-frame) > video {
  opacity: 0 !important;
}
html:root body .messenger-voice-note-toggle { position: relative !important; inset: auto !important; flex: 0 0 auto !important; transform: none !important; }
html:root body .messenger-shared-media-viewer:has(.messenger-private-video-note) figure { display: grid !important; place-items: center !important; align-content: center !important; width: 100% !important; max-width: 100vw !important; height: 100% !important; margin: 0 !important; padding: 56px 12px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
html:root body .messenger-shared-media-viewer .messenger-private-video-note { display: block !important; position: relative !important; width: min(440px,84vw,60dvh) !important; aspect-ratio: 1; max-height: none !important; margin: 0 auto !important; border-radius: 50% !important; overflow: hidden; background: transparent !important; }
html:root body .messenger-shared-media-viewer .messenger-private-video-note video { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover !important; }
html:root body .messenger-shared-media-viewer .messenger-private-video-note button { top: 50% !important; bottom: auto !important; left: 50% !important; transform: translate(-50%,-50%) !important; }
html:root body #messenger-once-viewer.is-audio .messenger-once-player { background: var(--msg-panel,var(--theme-surface-panel,#182233)) !important; color: var(--theme-text-primary,#fff) !important; }
html:root body #messenger-once-viewer.is-audio .messenger-once-wave > i:not(.messenger-once-sparks) { height: var(--voice-wave-height,8px) !important; background: var(--color-dynamic,#3775ca) !important; }
html:root body #messenger-once-viewer.is-video .messenger-once-player { width: min(440px,84vw,60dvh) !important; }
html:root body #messenger-once-viewer.is-video video { object-fit: cover !important; }
@media(max-width:767px) {
  html:root body #mobile-friends-sections { background: var(--theme-surface-control,#e4edf8) !important; border: 0 !important; }
  html:root body #mobile-friends-sections > summary { min-height: 46px; padding: 12px 14px; color: var(--theme-text-primary,#fff) !important; font-size: 14px !important; font-weight: 750; }
  html:root body #mobile-friends-sections:not([open]) > div { display: none !important; }
  html:root body #mobile-friends-sections > div { padding: 6px !important; }
  html:root body #mobile-friends-sections #side-friends { background: var(--theme-surface-panel,#182233) !important; border: 0 !important; border-radius: 12px; padding: 8px !important; }
  html:root body .mobile-about-tabs button.is-active { color: var(--theme-text-primary,#fff) !important; font-weight: 750; }
  html:root body .mobile-about-tabs button.is-active span { color: inherit !important; font-size: 13px !important; }
}

/* v134: unread attention belongs to the numbered badge, never its navigation row. */
html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages,
html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages:hover,
html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages.bg-blue-50,
html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages[aria-current="page"] {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  animation: none !important;
}
html:root body #profile-left-rail #nav-messages > :not(#messages-nav-dot) { animation: none !important; }
html:root body #messages-nav-dot.is-alerting { isolation: isolate; overflow: visible; }
html:root body [data-mobile-section="messages"] { animation: none !important; }
html:root body [data-mobile-section="messages"] .mobile-bottom-indicator:not([hidden]) {
  isolation: isolate;
  overflow: visible;
  background: #2583ff !important;
}
html:root body [data-mobile-section="messages"] .mobile-bottom-indicator.is-alerting { animation: none !important; }
html:root body [data-mobile-section="messages"] .mobile-bottom-indicator.is-alerting::before,
html:root body [data-mobile-section="messages"] .mobile-bottom-indicator.is-alerting::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -3px;
  border-radius: inherit;
  pointer-events: none;
  border: 2px solid #2583ff;
  animation: vmesta-message-badge-ring 1.65s ease-out infinite;
}
html:root body [data-mobile-section="messages"] .mobile-bottom-indicator.is-alerting::after { animation-delay: .42s; }
@keyframes vmesta-message-badge-ring {
  0% { opacity: .8; transform: scale(.72); }
  75%, 100% { opacity: 0; transform: scale(1.7); }
}
@media (prefers-reduced-motion: reduce) {
  html:root body #messages-nav-dot.is-alerting::before,
  html:root body #messages-nav-dot.is-alerting::after,
  html:root body [data-mobile-section="messages"] .mobile-bottom-indicator.is-alerting::before,
  html:root body [data-mobile-section="messages"] .mobile-bottom-indicator.is-alerting::after { animation: none !important; }
}
@media(max-width:767px) {
  html:root body .mobile-about-tabs button:not(.is-active),
  html:root body .mobile-about-tabs button:not(.is-active) svg { color: var(--vmesta-ui-primary,var(--color-dynamic,#249653)) !important; opacity: 1 !important; }
  html:root body .mobile-about-tabs button.is-active { background: var(--vmesta-ui-soft,var(--theme-surface-control,#21364b)) !important; color: var(--vmesta-ui-text,var(--theme-text-primary,#fff)) !important; }
  html:root body .mobile-about-tabs button.is-active svg { color: var(--vmesta-ui-primary,var(--color-dynamic,#249653)) !important; opacity: 1 !important; }
  html:root body .mobile-about-tabs button.is-active span { color: var(--vmesta-ui-text,var(--theme-text-primary,#fff)) !important; }
}
html:root body #moderation-appeal-modal .moderation-appeal-error:not([hidden]) {
  display: block !important;
  margin: 0 0 12px;
  color: #fca5a5;
  font-size: 13px;
  line-height: 1.4;
}

/* v139: one editor-colored surface encloses recording controls and the draft.
   No duplicate "Сообщение" field sits above the live waveform. */
html:root body #messenger-recording-panel.is-active {
  box-sizing: border-box !important;
  background: var(--msg-composer-surface,var(--msg-menu-soft,var(--theme-surface-control,#dce8f6))) !important;
  border: 1px solid var(--msg-line,color-mix(in srgb,var(--msg-accent,#3775ca) 20%,transparent)) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft) {
  background: var(--msg-composer-surface,var(--msg-menu-soft,var(--theme-surface-control,#dce8f6))) !important;
  padding: 8px !important;
}
html:root body #messenger-recording-panel.is-active.is-draft {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 8px !important;
}
html:root body #messenger-recording-panel.is-active.is-draft > .messenger-recording-draft {
  width: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* v140: the composer surface is one narrow bottom control row. Privacy and
   pause controls float above it, exactly as in the reference screenshot. */
html:root body #messenger-recording-panel.is-active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  isolation: isolate;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft) {
  padding: 8px !important;
  background: transparent !important;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft)::before {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 54px;
  z-index: -1;
  pointer-events: none;
  box-sizing: border-box;
  border: 1px solid var(--msg-line,color-mix(in srgb,var(--msg-accent,#3775ca) 20%,transparent));
  border-radius: 18px;
  background: var(--msg-composer-surface,var(--msg-menu-soft,var(--theme-surface-control,#dce8f6)));
}
html:root body #messenger-recording-panel.is-active.is-draft { padding: 0 !important; }
html:root body #messenger-recording-panel.is-active.is-draft > .messenger-recording-draft {
  box-sizing: border-box;
  min-height: 54px;
  background: var(--msg-composer-surface,var(--msg-menu-soft,var(--theme-surface-control,#dce8f6))) !important;
  border: 1px solid var(--msg-line,color-mix(in srgb,var(--msg-accent,#3775ca) 20%,transparent)) !important;
  border-radius: 18px;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-video-limit {
  display: block !important;
  position: absolute;
  z-index: 9;
  bottom: 13%;
  left: 50%;
  transform: translateX(-50%);
  padding: 3px 8px;
  border-radius: 999px;
  background: rgb(7 18 31 / .78);
  color: #fff;
  font: 700 11px/1.2 system-ui,sans-serif;
  white-space: nowrap;
  pointer-events: none;
}
html:root body #messenger-recording-panel:not(.is-video) .messenger-recording-video-limit { display: none !important; }
@media (max-width:767px) {
  html:root body.mobile-chat-open.messages-route .messenger-conversation {
    transition: height .16s ease-out,top .16s ease-out !important;
  }
  html:root body.mobile-chat-open .messenger-bubble > p,
  html:root body.mobile-chat-open .messenger-bubble > p * {
    user-select: text !important;
    -webkit-user-select: text !important;
    -webkit-touch-callout: default !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  html:root body.mobile-chat-open.messages-route .messenger-conversation { transition: none !important; }
}
@media (max-width:767px) {
  /* Keep the chat header on a fixed axis while visualViewport shrinks or
     returns after the app is resumed with the native keyboard still open. */
  html:root body.mobile-chat-open.messages-route .messenger-conversation {
    position: fixed !important;
    top: var(--mobile-visible-top,0px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: var(--mobile-visible-height,100dvh) !important;
    max-height: var(--mobile-visible-height,100dvh) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  html:root body.mobile-chat-open.messages-route .messenger-conversation-actions > .messenger-chat-menu {
    max-height: max(120px,calc(var(--mobile-visible-height,100dvh) - 5.5rem)) !important;
    overflow-y: auto !important;
  }
  html:root body.mobile-chat-open.mobile-input-surface-open:has(#messenger-input:focus) .messenger-composer {
    padding-bottom: calc(.42rem + env(safe-area-inset-bottom,0px)) !important;
  }
  html:root body.mobile-chat-open.mobile-input-surface-open:has(#messenger-input:focus) .emoji-picker.emoji-picker-expanded:not(.hidden) {
    border-radius: 1rem !important;
  }
}

/* v141: stable recording column and a single compact reply banner. */
html:root body #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions {
  align-self: flex-end !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 114px !important;
  min-height: 114px !important;
  margin: 0 !important;
  transform: none !important;
  grid-template-columns: 38px !important;
  grid-template-rows: 28px 38px 38px !important;
  gap: 5px !important;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > .messenger-media-privacy {
  grid-area: 1 / 1 !important;
  align-self: center !important;
  justify-self: center !important;
  margin: 0 !important;
  transform: none !important;
}
html:root body #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > .messenger-recording-stop { grid-area: 2 / 1 !important; }
html:root body #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > .messenger-recording-send { grid-area: 3 / 1 !important; }
html:root body #messages-root .messenger-composer.is-recording > #messenger-recording-panel { grid-row: 1 !important; }
html:root body #messages-root .messenger-composer.is-recording > .messenger-composer-reply {
  position: absolute !important;
  z-index: 4 !important;
  grid-row: auto !important;
  grid-column: auto !important;
  top: auto !important;
  right: 0 !important;
  bottom: calc(100% + 5px) !important;
  left: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  margin: 0 !important;
  padding: 7px 36px 7px 12px !important;
  overflow: hidden !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
html:root body #messages-root .messenger-composer.is-recording > .messenger-composer-reply span {
  min-width: 0 !important;
  height: auto !important;
  max-height: 42px !important;
  overflow: hidden !important;
}
html:root body #messages-root .messenger-composer.is-recording > .messenger-composer-reply :is(strong,small) {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html:root body #messenger-recording-panel:not(.is-video) .messenger-recording-video-stage { display: none !important; }
html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage {
  position: fixed !important;
  z-index: 1102 !important;
  right: .75rem !important;
  bottom: 5rem !important;
  width: min(13rem,52vw) !important;
  height: min(13rem,52vw) !important;
  overflow: visible !important;
  pointer-events: none;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage > .messenger-recording-video {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: auto;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage > .messenger-recording-video-limit {
  display: block !important;
  position: absolute !important;
  z-index: 12 !important;
  top: calc(100% + 7px) !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage > .messenger-recording-video {
  transform: none !important;
}
@media (max-width:767px) {
  html:root body .emoji-picker.is-emoji-waiting-keyboard {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: none !important;
  }
  html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage {
    right: .65rem !important;
    bottom: 5.6rem !important;
  }
  html:root body.mobile-chat-open.messages-route .messenger-conversation {
    box-sizing: border-box !important;
    padding-bottom: 6px !important;
    background: var(--msg-panel,var(--theme-surface-panel,#182233)) !important;
  }
  html:root body.mobile-chat-open.mobile-input-surface-open.mobile-emoji-keyboard-preserved .messenger-composer {
    padding-bottom: calc(.42rem + env(safe-area-inset-bottom,0px)) !important;
  }
}

/* v142: video circles belong to the conversation, not the browser window. */
html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage {
  position: absolute !important;
  top: auto !important;
  right: auto !important;
  bottom: calc(100% + 35px) !important;
  left: 50% !important;
  width: min(13rem,52vw) !important;
  height: min(13rem,52vw) !important;
  transform: translateX(-50%) !important;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage > .messenger-recording-video-limit {
  top: calc(100% + 8px) !important;
  bottom: auto !important;
  left: 50% !important;
}
/* The reply is context behind the controls, not another composer row. */
html:root body #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply {
  position: absolute !important;
  z-index: 1 !important;
  top: auto !important;
  right: 48px !important;
  bottom: 59px !important;
  left: 6px !important;
  width: auto !important;
  height: 49px !important;
  min-height: 49px !important;
  max-height: 49px !important;
  padding: 4px 26px 4px 10px !important;
  border-radius: 10px !important;
  background: var(--msg-menu-active,var(--theme-surface-control,#dce8f6)) !important;
  box-shadow: none !important;
}
html:root body #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply :is(strong,small) {
  line-height: 1.15 !important;
}
/* Prepared video keeps only the narrow editor row coloured. */
html:root body #messenger-recording-panel.is-active.is-draft {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
/* The privacy action floats above the draft and must not consume its 54px row. */
html:root body #messenger-recording-panel.is-draft > .messenger-recording-draft-toolbar {
  position: absolute !important;
  z-index: 5 !important;
  right: 0 !important;
  bottom: calc(100% + 6px) !important;
  width: auto !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
}
html:root body #messenger-recording-panel.is-draft > .messenger-recording-draft {
  box-sizing: border-box !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  grid-template-rows: 1fr !important;
}
html:root body #messenger-recording-panel.is-draft .messenger-recording-draft.is-video > :not(video) { grid-row: 1 !important; }
html:root body #messenger-recording-panel.is-draft > .messenger-recording-draft-preview {
  position: absolute !important;
  z-index: 4 !important;
  bottom: calc(100% + 16px) !important;
  left: 50% !important;
  width: min(190px,48vw) !important;
  height: min(190px,48vw) !important;
  transform: translateX(-50%) !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  background: transparent !important;
}
html:root body #messenger-recording-panel.is-draft > .messenger-recording-draft-preview > video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}
/* A replied-to video note has a quote strip and a bare circular note. */
html:root body .messenger-message .messenger-bubble.is-video-note-reply {
  position: relative !important;
  box-sizing: border-box !important;
  width: min(12rem,60vw) !important;
  max-width: min(12rem,60vw) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html:root body .messenger-bubble.is-video-note-reply > .messenger-reply-quote {
  box-sizing: border-box !important;
  width: 100% !important;
  margin-bottom: 7px !important;
  padding: 7px 9px !important;
  border-radius: 10px !important;
  background: var(--msg-panel,var(--theme-surface-control,#dce8f6)) !important;
}
/* A sticker sheet substitutes for the native keyboard without resizing the
   composer itself; its measured height is reserved below the conversation. */
html:root body .messenger-emoji-button > .messenger-keyboard-icon { display: none !important; }
@media (max-width:767px) {
  html:root body.mobile-chat-open.mobile-input-surface-open .messenger-conversation {
    height: calc(var(--mobile-visible-height,100dvh) - var(--mobile-emoji-height,18rem)) !important;
    max-height: calc(var(--mobile-visible-height,100dvh) - var(--mobile-emoji-height,18rem)) !important;
  }
  html:root body.mobile-chat-open.mobile-input-surface-open .messenger-composer {
    padding-bottom: calc(.42rem + env(safe-area-inset-bottom,0px)) !important;
  }
  html:root body.mobile-chat-open.mobile-input-surface-open .messenger-emoji-button > svg:not(.messenger-keyboard-icon) { display: none !important; }
  html:root body.mobile-chat-open.mobile-input-surface-open .messenger-emoji-button > .messenger-keyboard-icon { display: block !important; }
}
html:root body .messenger-bubble.is-video-note-reply > .messenger-video-note-list {
  width: 100% !important;
}
html:root body .messenger-bubble.is-video-note-reply > .messenger-bubble-tail { display: none !important; }

@media (max-width:767px) {
  html:root body.mobile-drawer-dragging #profile-left-rail {
    transform: translate3d(var(--mobile-drawer-drag-x),0,0) !important;
    transition: none !important;
    pointer-events: none !important;
  }
  html:root body.mobile-drawer-dragging .mobile-drawer-backdrop {
    opacity: var(--mobile-drawer-drag-opacity,0) !important;
    transition: none !important;
    pointer-events: none !important;
  }
}

@media (max-width:767px) {
  html:root body #messenger-recording-panel.is-video .messenger-recording-video-stage {
    right: auto !important;
    bottom: calc(100% + 35px) !important;
    left: 50% !important;
  }
}

/* v145: the sticker tray keeps the same footprint as the last native keyboard
   and its swap never exposes the page's black bottom gutter. */
html:root body .messenger-emoji-button > .messenger-emoji-glyph,
html:root body .messenger-emoji-button > .messenger-keyboard-glyph {
  width: 1.35rem !important;
  height: 1.35rem !important;
  place-items: center !important;
}
html:root body .messenger-emoji-button > .messenger-emoji-glyph { display: grid !important; }
html:root body .messenger-emoji-button > .messenger-keyboard-glyph { display: none !important; }
html:root body .messenger-emoji-button .messenger-keyboard-icon { display: block !important; width: 1.35rem !important; height: 1.35rem !important; }
@media (max-width:767px) {
  html:root body.mobile-chat-open.mobile-input-surface-open .messenger-emoji-button > .messenger-emoji-glyph { display: none !important; }
  html:root body.mobile-chat-open.mobile-input-surface-open .messenger-emoji-button > .messenger-keyboard-glyph { display: grid !important; }
  html:root body.mobile-chat-open.mobile-emoji-switching::before {
    content: '';
    position: fixed;
    z-index: 1098;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--mobile-emoji-height,18rem);
    background: var(--msg-menu-surface,var(--theme-surface-panel,#182233));
    pointer-events: none;
  }
  html:root body.mobile-chat-open .emoji-picker.is-emoji-waiting-keyboard {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

/* Media replies have a compact quote above the media, not a second bubble. */
html:root body .messenger-message .messenger-bubble:is(.is-voice-note-only,.is-video-note-reply,.is-sticker-reply) {
  --message-shape-fill: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html:root body .messenger-bubble:is(.is-video-note-reply,.is-sticker-reply) > .messenger-reply-quote {
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 7px 9px !important;
  border-radius: 10px !important;
  background: var(--msg-panel,var(--theme-surface-control,#dce8f6)) !important;
}
html:root body .messenger-bubble:is(.is-video-note-reply,.is-sticker-reply) > .messenger-bubble-tail { display: none !important; }
html:root body .messenger-message .messenger-bubble.is-video-note-reply {
  --messenger-video-note-size: min(12rem,60vw);
  width: var(--messenger-video-note-size) !important;
  max-width: var(--messenger-video-note-size) !important;
  transition: width .21s ease, max-width .21s ease !important;
}
html:root body .messenger-message .messenger-bubble.is-video-note-reply:has(.messenger-video-note.is-expanded) {
  --messenger-video-note-size: min(22rem,82vw);
}
html:root body .messenger-bubble.is-video-note-reply .messenger-video-note-list,
html:root body .messenger-bubble.is-video-note-reply .messenger-video-note {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1 / 1 !important;
}
html:root body .messenger-bubble.is-voice-note-reply { width: min(19rem,82vw) !important; }
html:root body .messenger-bubble.is-voice-note-reply .messenger-voice-note-list { width: 100% !important; }
html:root body .messenger-bubble.is-sticker-reply { width: min(13rem,62vw) !important; }
html:root body .messenger-bubble.is-sticker-reply .messenger-sticker { max-width: 100% !important; }

/* v146: keep the message shape and its SVG tail on one themed surface. */
html:root body.messages-route #messages-root .messenger-message.is-incoming .messenger-bubble:not(.is-poll):not(.is-track-only):not(.is-sticker-only):not(.is-sticker-reply):not(.is-video-note-only):not(.is-video-note-reply):not(.is-voice-note-reply) {
  --message-shape-fill: var(--vmesta-unified-inner,var(--theme-surface-nested)) !important;
  background: var(--message-shape-fill) !important;
}
html:root body.messages-route #messages-root .messenger-message.is-outgoing .messenger-bubble:not(.is-poll):not(.is-track-only):not(.is-sticker-only):not(.is-sticker-reply):not(.is-video-note-only):not(.is-video-note-reply):not(.is-voice-note-reply) {
  --message-shape-fill: var(--vmesta-unified-strong,var(--theme-surface-active)) !important;
  background: var(--message-shape-fill) !important;
}
html:root body.messages-route #messages-root .messenger-bubble:not(.is-poll) > svg.messenger-bubble-tail { color: var(--message-shape-fill) !important; }
html:root body.messages-route #messages-root .messenger-bubble:not(.is-poll) > svg.messenger-bubble-tail > .messenger-bubble-tail-fill { fill: var(--message-shape-fill) !important; stroke: none !important; }
html:root body.messages-route #messages-root .messenger-bubble:not(.is-poll) > svg.messenger-bubble-tail > .messenger-bubble-tail-line { display: none !important; }

/* Voice and quoted voice share a single rounded surface, including the tail. */
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.is-voice-note-only {
  width: min(19rem,82vw) !important;
  min-width: 0 !important;
  min-height: 3.65rem !important;
  padding: .48rem .65rem .42rem !important;
  border-radius: 1.05rem !important;
  overflow: visible !important;
}
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.is-voice-note-reply {
  width: min(19rem,82vw) !important;
  min-width: 0 !important;
  max-width: min(19rem,82vw) !important;
  --message-shape-fill: var(--voice-card-fill) !important;
  box-sizing: border-box !important;
  padding: .48rem .65rem .42rem !important;
  border: 0 !important;
  border-radius: 1.05rem !important;
  background: var(--voice-card-fill) !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html:root body.messages-route #messages-root .messenger-message.is-incoming .messenger-bubble.is-voice-note-reply { --voice-card-fill: var(--vmesta-unified-inner,var(--theme-surface-nested)); }
html:root body.messages-route #messages-root .messenger-message.is-outgoing .messenger-bubble.is-voice-note-reply { --voice-card-fill: var(--vmesta-unified-strong,var(--theme-surface-active)); }
html:root body.messages-route #messages-root .messenger-bubble.is-voice-note-reply > .messenger-voice-note-list {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
html:root body.messages-route #messages-root .messenger-bubble.is-voice-note-reply > .messenger-reply-quote {
  width: 100% !important;
  margin: 0 0 .42rem !important;
  padding: .4rem .52rem !important;
  border-radius: .4rem .65rem .65rem .4rem !important;
  background: color-mix(in srgb,var(--msg-accent) 11%,transparent) !important;
}
html:root body.messages-route #messages-root .messenger-bubble:is(.is-voice-note-only,.is-voice-note-reply) .messenger-voice-note-toggle {
  box-sizing: border-box !important;
  width: 2.65rem !important;
  min-width: 2.65rem !important;
  height: 2.65rem !important;
  flex: 0 0 2.65rem !important;
  border: .18rem solid color-mix(in srgb,var(--msg-accent) 50%,transparent) !important;
  border-radius: 50% !important;
  background: var(--msg-menu-active,var(--voice-card-fill)) !important;
  color: var(--msg-accent) !important;
}
html:root body.messages-route #messages-root .messenger-bubble:is(.is-voice-note-only,.is-voice-note-reply) .messenger-voice-note {
  min-width: 0 !important;
  grid-template-columns: 2.65rem minmax(0,1fr) !important;
}
html:root body.messages-route #messages-root .messenger-message .messenger-bubble:is(.is-video-note-reply,.is-sticker-only,.is-sticker-reply) {
  --message-shape-fill: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html:root body.messages-route #messages-root .messenger-bubble.is-video-note-reply > .messenger-video-note-list {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  overflow: hidden !important;
}
html:root body.messages-route #messages-root .messenger-bubble.is-video-note-reply .messenger-video-note {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

/* The drawer must remain mounted above every route, including an open chat. */
@media (max-width:767px) {
  html:root body.messages-route #profile-left-rail { display: flex !important; }
  html:root body.mobile-drawer-dragging #profile-left-rail { will-change: transform; }
  html:root { background: var(--vmesta-unified-surface,var(--theme-surface-panel,#142033)) !important; }
  html:root body.mobile-chat-open { background: var(--vmesta-unified-surface,var(--theme-surface-panel,#142033)) !important; }
  html:root body.mobile-chat-open.mobile-emoji-switching::before { background: var(--vmesta-unified-surface,var(--theme-surface-panel,#142033)) !important; }
}

/* Keep the reply bar separate from the active recording row and its close
   action at the outer end of the bar. */
html:root body #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply {
  left: 0 !important;
  right: 45px !important;
  bottom: 68px !important;
  padding-right: 4px !important;
  grid-template-columns: auto minmax(0,1fr) 2rem !important;
  gap: 6px !important;
}
html:root body #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply > button {
  justify-self: end !important;
  margin-right: 0 !important;
}

/* v147: a quiet, circular count/status indicator; never animate the bubble. */
html:root body #profile-left-rail #friends-count-profile {
  display: inline-grid !important;
  width: 2.2rem !important;
  min-width: 2.2rem !important;
  height: 2.2rem !important;
  place-items: center !important;
  padding: 0 !important;
  border: 2px solid color-mix(in srgb,var(--vmesta-ui-primary,var(--msg-accent,#249653)) 52%,transparent) !important;
  border-radius: 50% !important;
  background: color-mix(in srgb,var(--vmesta-ui-primary,var(--msg-accent,#249653)) 13%,var(--vmesta-ui-panel,#fff)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--vmesta-ui-primary,var(--msg-accent,#249653)) 9%,transparent) !important;
  font-variant-numeric: tabular-nums;
}
html:root body .messenger-message:has(.is-uploading) .messenger-bubble,
html:root body .messenger-message.is-upload-complete .messenger-bubble { animation: none !important; }
html:root body .messenger-delivery-stars.is-sending { display:inline-grid;place-items:center;opacity:1;animation:none!important; }
html:root body .messenger-delivery-stars.is-sending svg { border-radius:50%;outline:2px solid var(--msg-accent);outline-offset:2px;animation:messenger-status-pulse 1s ease-in-out infinite; }

/* An author change is a distinct group, in the current theme's accent. */
html:root body .messenger-conversation.is-room-chat .messenger-message.is-incoming.is-group-start { margin-top:.72rem!important; }
html:root body .messenger-conversation.is-room-chat .messenger-message.is-incoming.is-group-start .messenger-room-author { margin:0 0 .28rem!important; }
html:root body .messenger-conversation.is-room-chat .messenger-message.is-incoming.is-group-start .messenger-room-author strong { color:var(--msg-accent,var(--theme-accent,#36a66a))!important;font-size:.7rem!important;font-weight:900!important;line-height:1.2!important; }
html:root body .messenger-conversation.is-room-chat .messenger-message.is-incoming.is-group-start .messenger-room-author small { color:var(--msg-muted,var(--theme-text-muted,#8ea0b5))!important;font-size:.5rem!important; }

/* The recording quote spans the full composer; floating controls stay above it. */
html:root body #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply {
  left:0!important;right:0!important;width:100%!important;box-sizing:border-box!important;
  padding-right:3.7rem!important;border-radius:.85rem!important;
}
html:root body #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply > button { margin-right:.15rem!important; }
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes { display:flex;align-items:center;justify-content:center;gap:.25rem;margin:.25rem auto 0;padding:.2rem;border-radius:999px;background:var(--msg-menu-active,var(--theme-surface-control,#e5edf5)); }
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button { min-width:5.1rem;height:2rem;border-radius:999px;font-size:.7rem;font-weight:850; }
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button.is-active { background:var(--msg-accent-soft,var(--theme-surface-active,#d9eee3))!important;color:var(--msg-accent,var(--theme-accent,#249653))!important; }
@media (min-width:768px) {
  html:root body .emoji-picker[data-allow-stickers="1"] { height:min(24rem,calc(100vh - 1.5rem))!important; }
}

/* v148: the sheet uses the actual visible viewport and leaves room for the
   Android gesture area. The background matches the composer during the swap. */
@media (max-width:767px) {
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded:not(.hidden) {
    box-sizing:border-box!important;
    padding-bottom:max(1.1rem,env(safe-area-inset-bottom,0px))!important;
    background:var(--emoji-surface,var(--msg-menu-surface,var(--theme-surface-panel,#142033)))!important;
  }
}

/* Earlier draft-only styles hid every sibling of the recording editor,
   including an active reply. Keep that quote above either media editor. */
html:root body #messages-root .messenger-composer.has-recording-draft.has-reply > .messenger-composer-reply {
  position:absolute!important;inset:auto 0 calc(100% + 8px) 0!important;
  z-index:7!important;display:grid!important;visibility:visible!important;
  opacity:1!important;pointer-events:auto!important;box-sizing:border-box!important;
  width:100%!important;height:54px!important;min-height:54px!important;max-height:54px!important;
  grid-template-columns:auto minmax(0,1fr) 2rem!important;align-items:center!important;
  margin:0!important;padding:.4rem .55rem .4rem .9rem!important;
  border-radius:.85rem!important;
}
html:root body #messages-root .messenger-composer.has-recording-draft.has-reply > #messenger-recording-panel.is-draft > .messenger-recording-draft-toolbar {
  bottom:calc(100% + 70px)!important;
}
html:root body #messages-root .messenger-composer.has-recording-draft.has-reply > #messenger-recording-panel.is-draft > .messenger-recording-draft-preview {
  bottom:calc(100% + 80px)!important;
}

/* The optional "1" badge must not push the eye icon off its centre. */
html:root body #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > .messenger-media-privacy,
html:root body #messenger-recording-panel.is-draft .messenger-recording-draft-privacy > .messenger-media-privacy {
  display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;
}
html:root body #messenger-recording-panel .messenger-media-privacy > :is(.messenger-icon,svg) {
  grid-area:1/1!important;display:block!important;place-self:center!important;margin:0!important;
  width:18px!important;height:18px!important;
}
html:root body #messenger-recording-panel .messenger-media-privacy > b:empty { display:none!important; }
html:root body #messenger-recording-panel .messenger-media-privacy > b:not(:empty) {
  position:absolute!important;right:-2px!important;bottom:-2px!important;
  display:grid!important;width:12px!important;height:12px!important;place-items:center!important;
  border-radius:50%!important;background:var(--msg-accent)!important;color:#fff!important;
  font:800 9px/1 sans-serif!important;
}

/* The keyboard and tray share a bottom surface. Their toggle does not animate
   height/opacity while Android is resizing its visual viewport. */
@media (max-width:767px) {
  html:root body #profile-left-rail { z-index:1050!important; }
  html:root body.mobile-chat-open.mobile-emoji-switching::before { background:var(--emoji-surface,var(--msg-menu-surface,var(--theme-surface-panel,#142033)))!important; }
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded:not(.hidden) { animation:none!important;transition:none!important;background:var(--emoji-surface,var(--msg-menu-surface,var(--theme-surface-panel,#142033)))!important; }
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded.is-emoji-closing:not(.hidden) { opacity:1!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] { display:flex!important;flex-direction:column!important;gap:.3rem!important; }
  html:root body .emoji-picker[data-allow-stickers="1"].hidden { display:none!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-header { flex:0 0 auto!important;min-height:2.4rem!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] :is(.emoji-picker-emoji-view,.emoji-picker-sticker-view) { flex:1 1 auto!important;min-height:0!important;overflow:hidden!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-sticker-view { display:grid!important;grid-template-rows:auto auto minmax(0,1fr)!important;max-height:none!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-sticker-view.hidden { display:none!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-emoji-view { display:flex!important;flex-direction:column!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-emoji-view.hidden { display:none!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-tabs { flex:0 0 auto!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] :is(.emoji-picker-grid,.emoji-sticker-grid) { flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes { display:flex;flex:0 0 2.75rem;align-items:center;justify-content:center;gap:.25rem;margin:.1rem auto 0;padding:.2rem;border-radius:999px;background:var(--msg-menu-active,var(--theme-surface-control,#223148)); }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button { min-width:5.6rem;height:2.25rem;border-radius:999px;color:var(--msg-muted,var(--theme-text-muted,#8fa0b5));font-size:.74rem;font-weight:850; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button.is-active { background:var(--msg-accent-soft,var(--theme-surface-active,#33475e))!important;color:var(--msg-accent,var(--theme-accent,#31a46b))!important; }
  html:root body .emoji-picker[data-allow-stickers="1"].is-footer-collapsed .emoji-picker-bottom-modes { display:none!important; }
}

/* v149: keep the emoji controls in the visible portion of the tray even on
   Android browsers whose gesture bar reports no safe-area inset. */
@media (max-width:767px) {
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded:not(.hidden) {
    padding:.45rem .6rem max(3.1rem,env(safe-area-inset-bottom,0px))!important;
    overflow:hidden!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-header {
    grid-template-columns:minmax(0,1fr) 2rem!important;
    min-height:2rem!important;height:2rem!important;
    gap:.28rem!important;padding:0!important;margin:0 0 .15rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-header > .emoji-picker-search-wrap {
    height:2rem!important;min-height:2rem!important;border-radius:.65rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-header > button {
    width:2rem!important;height:2rem!important;font-size:1.12rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-tabs {
    height:2.55rem!important;min-height:2.55rem!important;
    padding:.08rem 0!important;margin:0!important;gap:.15rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-tab {
    width:2.25rem!important;min-width:2.25rem!important;height:2.25rem!important;
    font-size:1.12rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes {
    flex-shrink:0!important;margin:.1rem auto 0!important;
  }
  html:root body.messages-route #profile-left-rail,
  html:root body #profile-left-rail {
    position:fixed!important;z-index:3000!important;
    top:0!important;right:auto!important;bottom:0!important;left:0!important;
    display:flex!important;width:min(22.5rem,92vw)!important;height:100dvh!important;
    max-height:none!important;opacity:1!important;filter:none!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    margin:0!important;padding:calc(.55rem + env(safe-area-inset-top,0px)) .6rem calc(.75rem + env(safe-area-inset-bottom,0px))!important;
    border:0!important;border-radius:0 1.35rem 1.35rem 0!important;
    background:var(--vmesta-ui-panel,var(--adaptive-surface,#fff))!important;
    box-shadow:1.1rem 0 3rem rgb(3 10 25/.3)!important;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  html:root body #mobile-drawer-backdrop { z-index:2990!important; }
  html:root body.mobile-drawer-open #mobile-bottom-navigation { visibility:hidden!important;pointer-events:none!important; }
  html:root body #profile-left-rail #nav-messages,
  html:root body #profile-left-rail #nav-messages::before,
  html:root body #profile-left-rail #nav-messages::after {
    animation:none!important;box-shadow:none!important;filter:none!important;
  }
  html:root body #profile-left-rail #nav-messages::before,
  html:root body #profile-left-rail #nav-messages::after { content:none!important; }
}

/* v150: one compact search row for emoji and stickers; neither mode hides search. */
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-header {
  min-height:1.9rem!important;height:1.9rem!important;
  grid-template-columns:minmax(0,1fr) 1.9rem!important;
  gap:.2rem!important;padding:0!important;margin:0!important;
}
html:root body .emoji-picker[data-allow-stickers="1"][data-mode="stickers"] .emoji-picker-header > .emoji-picker-search-wrap {
  visibility:visible!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-header > .emoji-picker-search-wrap {
  height:1.9rem!important;min-height:1.9rem!important;
  padding:0 .5rem!important;border-radius:.58rem!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-header .emoji-picker-search {
  font-size:.7rem!important;
}
html:root body .emoji-picker.emoji-picker-expanded.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-header > button {
  width:1.9rem!important;height:1.9rem!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
}
html:root body .emoji-picker.emoji-picker-expanded.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-header > button:is(:hover,:focus-visible) {
  background:transparent!important;box-shadow:none!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-sticker-packs {
  min-height:2.25rem!important;gap:.18rem!important;
  padding:.18rem .16rem!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-sticker-packs button,
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-sticker-packs :is(.is-recent,.is-store) {
  flex:0 0 1.9rem!important;width:1.9rem!important;height:1.9rem!important;
  border-radius:.5rem!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-sticker-packs :is(img,.is-sprite) {
  width:1.55rem!important;height:1.55rem!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-sticker-view > header {
  min-height:1.2rem!important;padding:.12rem .35rem!important;gap:.25rem!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-sticker-grid {
  gap:.14rem!important;padding:.12rem .2rem .45rem!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-sticker-grid > button {
  padding:.1rem!important;border-radius:.48rem!important;
}
@media (max-width:767px) {
  html:root body .emoji-picker[data-allow-stickers="1"] { gap:.18rem!important; }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-tabs {
    height:2.15rem!important;min-height:2.15rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-tab {
    width:1.95rem!important;min-width:1.95rem!important;height:1.95rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-sticker-grid {
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes {
    flex-basis:2.3rem!important;padding:.12rem!important;
  }
  html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button {
    min-width:4.8rem!important;height:1.95rem!important;font-size:.67rem!important;
  }
}

/* A slightly larger recording preview and voice editor, without resizing chat video notes. */
html:root body #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage {
  width:min(16rem,62vw)!important;height:min(16rem,62vw)!important;
}
html:root body #messenger-recording-panel.is-draft.is-video > .messenger-recording-draft-preview {
  width:min(16rem,62vw)!important;height:min(16rem,62vw)!important;
}
html:root body #messenger-recording-panel.is-active.is-audio:not(.is-draft)::before {
  height:64px!important;
}
html:root body #messenger-recording-panel.is-active.is-audio.is-draft,
html:root body #messenger-recording-panel.is-active.is-audio.is-draft > .messenger-recording-draft {
  height:64px!important;min-height:64px!important;max-height:64px!important;
}
html:root body #messenger-recording-panel.is-active.is-audio.is-draft .messenger-recording-trim {
  min-height:48px!important;
}

/* Text, voice and circular notes need breathing room on both screen sizes. */
html:root body.messages-route #messages-root .messenger-message {
  margin-top:.36rem!important;margin-bottom:.36rem!important;
}
html:root body.messages-route #messages-root .messenger-message:has(.messenger-bubble:is(.is-voice-note-only,.is-voice-note-reply,.is-video-note-only,.is-video-note-reply)) {
  margin-top:.58rem!important;margin-bottom:.58rem!important;
}

/* v151: the video ring never touches the neighbouring note, including while expanded. */
html:root body.messages-route #messages-root .messenger-message:has(.messenger-bubble:is(.is-video-note-only,.is-video-note-reply)) {
  margin-top:1.35rem!important;margin-bottom:1.35rem!important;
}
html:root body.messages-route #messages-root .messenger-message.has-expanded-video-note {
  margin-top:1.6rem!important;margin-bottom:1.6rem!important;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-camera-flip {
  position:absolute!important;z-index:16!important;left:.35rem!important;bottom:.35rem!important;
  display:grid!important;place-items:center!important;width:2.4rem!important;height:2.4rem!important;
  border:1px solid rgb(255 255 255/.3)!important;border-radius:50%!important;
  background:rgb(8 18 31/.72)!important;color:#fff!important;
  pointer-events:auto!important;cursor:pointer!important;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-camera-flip svg {
  width:1.25rem!important;height:1.25rem!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
}
html:root body #messenger-recording-panel.is-video .messenger-recording-camera-flip:disabled {
  opacity:.38!important;cursor:not-allowed!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes {
  background:transparent!important;border:0!important;box-shadow:none!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.32rem!important;
  background:transparent!important;box-shadow:none!important;
}
html:root:is(.adaptive-theme,:not(.adaptive-theme)):is(.theme-monet-active,:not(.theme-monet-active)) body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button.is-active {
  background:transparent!important;box-shadow:none!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button svg {
  width:1rem!important;height:1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button.is-active svg {
  color:var(--msg-accent,var(--theme-accent,#31a46b))!important;
  filter:drop-shadow(0 0 .34rem var(--msg-accent,var(--theme-accent,#31a46b)))!important;
}

/* Fixed shop frame: changing catalog tabs must not move its header or edges. */
html:root body #vmesta-market-modal:not(.hidden) > .vmesta-market-dialog {
  box-sizing:border-box!important;
  height:min(50rem,calc(100dvh - 2rem))!important;
  max-height:min(50rem,calc(100dvh - 2rem))!important;
  grid-template-rows:6.2rem auto minmax(0,1fr)!important;
}
html:root body #vmesta-market-modal:not(.hidden) .vmesta-market-content {
  min-height:0!important;overflow-y:auto!important;
}
@media (max-width:767px) {
  html:root body #vmesta-market-modal:not(.hidden) > .vmesta-market-dialog {
    height:calc(100dvh - .9rem)!important;max-height:calc(100dvh - .9rem)!important;
    grid-template-rows:7.25rem auto minmax(0,1fr)!important;
  }
}

/* v151: unread attention lives on the number, never on the mobile drawer row. */
@media (max-width:767px) {
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages,
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages.active,
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages:hover,
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages[aria-current="page"] {
    background:transparent!important;border-color:transparent!important;
    box-shadow:none!important;animation:none!important;filter:none!important;
  }
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages::before,
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages::after {
    content:none!important;animation:none!important;
  }
  html:root body #mobile-bottom-navigation > button { animation:none!important;filter:none!important; }
}

/* The same numbered beacon works for every bottom tab with real unread events. */
html:root body #mobile-bottom-navigation > [data-mobile-section="messages"] { --mobile-attention-color:#2583ff; }
html:root body #mobile-bottom-navigation > [data-mobile-section="friends"] { --mobile-attention-color:#ff4567; }
html:root body #mobile-bottom-navigation > [data-mobile-section="spaces"] { --mobile-attention-color:#9858ff; }
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator:not([hidden]) {
  position:absolute!important;isolation:isolate;overflow:visible;
  background:var(--mobile-attention-color,var(--vmesta-ui-primary,#2583ff))!important;
  box-shadow:0 0 .42rem color-mix(in srgb,var(--mobile-attention-color,var(--vmesta-ui-primary,#2583ff)) 65%,transparent);
}
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting { animation:none!important; }
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
  content:"";position:absolute;z-index:-1;inset:-3px;border-radius:inherit;
  border:2px solid var(--mobile-attention-color,var(--vmesta-ui-primary,#2583ff));
  background:transparent;pointer-events:none;
  animation:vmesta-message-badge-ring 1.65s ease-out infinite!important;
}
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after { animation-delay:.42s!important; }
@media (prefers-reduced-motion:reduce) {
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after { animation:none!important; }
}

/* v152: make the badge's own halo unmistakable, without lighting its row. */
@keyframes vmesta-number-halo {
  0%,100% { box-shadow:0 0 0 0 color-mix(in srgb,var(--mobile-attention-color,#2583ff) 45%,transparent),0 0 .25rem var(--mobile-attention-color,#2583ff); }
  50% { box-shadow:0 0 0 5px color-mix(in srgb,var(--mobile-attention-color,#2583ff) 19%,transparent),0 0 .75rem var(--mobile-attention-color,#2583ff); }
}
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting {
  animation:vmesta-number-halo 1.45s ease-in-out infinite!important;
  z-index:3!important;
}
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after { content:none!important; }
@media (max-width:767px) {
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages:is(.active,[aria-current="page"],:hover),
  html:root body #profile-left-rail .profile-sidebar-navigation > #nav-messages {
    background:transparent!important;background-image:none!important;
    border:0!important;outline:0!important;box-shadow:none!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting { animation:none!important; }
}

/* Compact emoji/sticker switch and a smaller scrub handle on video circles. */
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes {
  flex-basis:1.95rem!important;height:1.95rem!important;gap:.12rem!important;
  margin:.05rem auto 0!important;padding:0!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button {
  min-width:4.25rem!important;height:1.7rem!important;padding:0 .3rem!important;
  gap:.2rem!important;font-size:.6rem!important;
}
html:root body .emoji-picker[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button svg {
  width:.86rem!important;height:.86rem!important;
}
html:root body .messenger-video-note .messenger-video-note-ring-thumb {
  r:1.25!important;stroke-width:.22!important;
}
html:root body .messenger-video-note.is-playing .messenger-video-note-ring-thumb { r:1.5!important; }
html:root body .messenger-video-note .messenger-video-note-ring-track { stroke-width:1.15!important; }
html:root body .messenger-video-note .messenger-video-note-ring-progress { stroke-width:1.45!important; }

/* Reserve actual scroll space for live video; the recorder no longer sits over
   the last message's ring when the conversation is at the bottom. */
html:root body.messages-route .messenger-conversation:has(.messenger-composer.is-recording #messenger-recording-panel.is-active.is-video:not(.is-draft)) #messenger-message-stream {
  padding-bottom:min(19rem,67vw)!important;
}
html:root body #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage {
  width:min(14.5rem,56vw)!important;height:min(14.5rem,56vw)!important;
}

/* Ordinary bubbles retain a visible, theme-colored tail on phone and desktop. */
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble:not(.is-video-note-only):not(.is-sticker-only):not(.is-track-only) {
  overflow:visible!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail {
  display:block!important;position:absolute!important;z-index:5!important;
  bottom:-1px!important;width:1.05rem!important;height:1.2rem!important;
  color:var(--message-shape-fill,var(--msg-panel))!important;
  opacity:1!important;visibility:visible!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-outgoing .messenger-bubble > svg.messenger-bubble-tail { right:-.63rem!important; }
html:root body.messages-route #messages-root .messenger-message.has-tail.is-incoming .messenger-bubble > svg.messenger-bubble-tail { left:-.63rem!important; }

/* v153: the chat tray has two icon-only controls, not a wide text pill. The
   category/grid region uses every remaining pixel above that fixed footer. */
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] {
  box-sizing:border-box!important;
  display:flex!important;flex-direction:column!important;
  gap:.18rem!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"].hidden { display:none!important; }
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] :is(.emoji-picker-emoji-view,.emoji-picker-sticker-view):not(.hidden) {
  flex:1 1 0!important;min-height:0!important;max-height:none!important;
  padding:0!important;margin:0!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-emoji-view:not(.hidden) {
  display:flex!important;flex-direction:column!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] :is(.emoji-picker-grid,.emoji-sticker-grid) {
  box-sizing:border-box!important;flex:1 1 0!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  align-content:start!important;grid-auto-rows:max-content!important;
  margin:0!important;padding:.12rem .12rem .18rem!important;
  overflow-y:auto!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes,
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"].is-footer-collapsed .emoji-picker-bottom-modes {
  display:flex!important;box-sizing:border-box!important;
  width:4.9rem!important;min-width:4.9rem!important;max-width:4.9rem!important;
  height:2rem!important;min-height:2rem!important;max-height:2rem!important;
  flex:0 0 2rem!important;align-items:center!important;justify-content:center!important;
  gap:.1rem!important;margin:0 auto!important;padding:.1rem!important;
  border:0!important;border-radius:999px!important;
  background:var(--msg-menu-active,var(--theme-surface-control,#223148))!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes > .emoji-picker-mode-button {
  display:grid!important;box-sizing:border-box!important;place-items:center!important;
  width:2.25rem!important;min-width:2.25rem!important;max-width:2.25rem!important;
  height:1.8rem!important;min-height:1.8rem!important;max-height:1.8rem!important;
  flex:0 0 2.25rem!important;padding:0!important;margin:0!important;
  border-radius:999px!important;
  color:var(--msg-muted,var(--theme-text-muted,#8fa0b5))!important;
}
html:root:is(.adaptive-theme,:not(.adaptive-theme)):is(.theme-monet-active,:not(.theme-monet-active)) body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes > .emoji-picker-mode-button.is-active {
  background:var(--msg-accent-soft,var(--theme-surface-active,#33475e))!important;
  color:var(--msg-accent,var(--theme-accent,#31a46b))!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes > .emoji-picker-mode-button svg {
  width:1.08rem!important;height:1.08rem!important;
}
@media (max-width:767px) {
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"]:not(.hidden) {
    padding:.36rem .45rem max(.42rem,env(safe-area-inset-bottom,0px))!important;
  }
  html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-tabs {
    height:2.05rem!important;min-height:2.05rem!important;max-height:2.05rem!important;
    margin:0!important;padding:0!important;
  }
  html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-tab {
    width:1.95rem!important;min-width:1.95rem!important;height:1.95rem!important;
  }
}

/* The unread beacon belongs to its 20px badge. The navigation row itself
   keeps no animated overlay or active blue wash. Select by id because the
   production sidebar wraps the navigation in an extra frame. */
html:root body #profile-left-rail #nav-messages,
html:root body #profile-left-rail #nav-messages:is(.active,.bg-blue-50,[aria-current="page"],:hover) {
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  animation:none!important;transition:none!important;box-shadow:none!important;filter:none!important;
}
html:root body #profile-left-rail #nav-messages::before,
html:root body #profile-left-rail #nav-messages::after { content:none!important;animation:none!important; }
html:root body #profile-left-rail #messages-nav-dot.is-alerting,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting {
  position:relative!important;isolation:isolate!important;overflow:visible!important;
  animation:vmesta-number-halo 1.25s ease-in-out infinite!important;
  transform:none!important;
}
html:root body #profile-left-rail #messages-nav-dot.is-alerting::before,
html:root body #profile-left-rail #messages-nav-dot.is-alerting::after,
html:root body #mobile-bottom-navigation .mobile-bottom-indicator.is-alerting::before,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
  content:none!important;animation:none!important;
}
html:root body #profile-left-rail #messages-nav-dot { --mobile-attention-color:#2583ff; }
html:root body #mobile-bottom-navigation .mobile-bottom-indicator.is-alerting {
  position:absolute!important;
}
@media (prefers-reduced-motion:reduce) {
  html:root body #profile-left-rail #messages-nav-dot.is-alerting,
  html:root body #mobile-bottom-navigation .mobile-bottom-indicator.is-alerting {
    animation:none!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--mobile-attention-color,#2583ff) 25%,transparent)!important;
  }
}

/* v154: the two-mode switch overlays the content instead of reserving a
   bottom row. The active mode carries a short label, the other stays an icon. */
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes,
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"].is-footer-collapsed .emoji-picker-bottom-modes {
  position:absolute!important;z-index:12!important;
  bottom:max(.45rem,env(safe-area-inset-bottom,0px))!important;left:50%!important;
  display:flex!important;width:max-content!important;min-width:0!important;max-width:none!important;
  height:2rem!important;min-height:2rem!important;max-height:2rem!important;
  flex:none!important;gap:.1rem!important;padding:.12rem!important;margin:0!important;
  transform:translateX(-50%)!important;opacity:1!important;visibility:visible!important;
  pointer-events:auto!important;
  transition:opacity .16s ease,transform .16s ease!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"].is-footer-collapsed .emoji-picker-bottom-modes {
  transform:translate(-50%,.75rem)!important;opacity:0!important;visibility:hidden!important;
  pointer-events:none!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes > .emoji-picker-mode-button {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:2rem!important;min-width:2rem!important;max-width:none!important;
  height:1.75rem!important;min-height:1.75rem!important;padding:0!important;gap:.22rem!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes > .emoji-picker-mode-button.is-active {
  width:auto!important;min-width:4.45rem!important;padding:0 .42rem!important;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-label {
  display:none!important;white-space:nowrap;font-size:.64rem;font-weight:800;line-height:1;
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button.is-active .emoji-picker-mode-label {
  display:inline!important;
}

/* Old badge styles can still force box-shadow:none; animate a ring belonging
   to the number itself, never the navigation row. */
@keyframes vmesta-badge-only-ring {
  0% { opacity:.8;transform:scale(.8); }
  80%,100% { opacity:0;transform:scale(1.65); }
}
html:root body #profile-left-rail #messages-nav-dot.is-alerting::after,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
  content:""!important;position:absolute!important;z-index:-1!important;
  inset:-4px!important;border:2px solid var(--mobile-attention-color,#2583ff)!important;
  border-radius:inherit!important;background:transparent!important;pointer-events:none!important;
  animation:vmesta-badge-only-ring 1.4s ease-out infinite!important;
}
@media (prefers-reduced-motion:reduce) {
  html:root body #profile-left-rail #messages-nav-dot.is-alerting::after,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
    animation:none!important;opacity:.45!important;transform:none!important;
  }
}

/* The regular navigation signal has a soft filled pulse behind the count;
   a bare outline looked like two moving strokes on the phone. */
html:root body #profile-left-rail #messages-nav-dot.is-alerting::before,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before {
  content:""!important;position:absolute!important;z-index:-1!important;
  inset:-6px!important;border:0!important;border-radius:50%!important;
  background:var(--mobile-attention-color,#2583ff)!important;
  filter:blur(5px)!important;pointer-events:none!important;
  animation:vmesta-badge-only-ring 1.4s ease-out infinite!important;
}
html:root body #profile-left-rail #messages-nav-dot.is-alerting::after,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
  animation-delay:.28s!important;
}
@media (prefers-reduced-motion:reduce) {
  html:root body #profile-left-rail #messages-nav-dot.is-alerting::before,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before {
    animation:none!important;opacity:.2!important;transform:none!important;
  }
}

/* The camera switch is outside the recording ring, clear of the face and scrubber. */
html:root body #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage > .messenger-recording-camera-flip {
  left:-2.65rem!important;right:auto!important;bottom:1.15rem!important;
}

@media (max-width:767px) {
  /* One height for the sheet and its content; the Android viewport offset
     moves the bottom edge, not a stale top-only rendering of the emoji grid. */
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"]:not(.hidden) {
    top:auto!important;bottom:var(--mobile-emoji-bottom,0px)!important;
    height:var(--mobile-emoji-height,18rem)!important;
    min-height:0!important;max-height:var(--mobile-emoji-height,18rem)!important;
  }
  html:root body.mobile-chat-open #emoji-picker-messenger-input.emoji-picker-expanded:not(.hidden) {
    min-height:0!important;
  }
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] :is(.emoji-picker-emoji-view,.emoji-picker-sticker-view):not(.hidden) {
    min-height:0!important;overflow:hidden!important;
  }
  html:root body.mobile-chat-open .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] :is(.emoji-picker-grid,.emoji-sticker-grid) {
    flex:1 1 0!important;min-height:0!important;height:auto!important;max-height:none!important;
    overflow-y:auto!important;overflow-x:hidden!important;
  }
}

/* Keep ordinary SVG tails outside the bubble, including virtualized rows. */
html:root body.messages-route #messages-root .messenger-message.has-tail {
  overflow:visible!important;contain:layout style!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble {
  overflow:visible!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble > .messenger-bubble-tail {
  display:block!important;visibility:visible!important;opacity:1!important;
  width:1.12rem!important;height:1.28rem!important;
  bottom:-.08rem!important;z-index:8!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble > .messenger-bubble-tail > .messenger-bubble-tail-fill {
  fill:var(--message-shape-fill,var(--msg-panel))!important;
}

/* Video circles and the recording overlay must never touch adjacent rings. */
html:root body.messages-route #messages-root .messenger-message:has(.messenger-bubble.is-video-note-only .messenger-video-note),
html:root body.messages-route #messages-root .messenger-message:has(.messenger-bubble.is-video-note-reply .messenger-video-note) {
  margin-top:2.35rem!important;margin-bottom:2.35rem!important;
}
html:root body.messages-route .messenger-conversation:has(.messenger-composer.is-recording #messenger-recording-panel.is-active.is-video:not(.is-draft)) #messenger-message-stream {
  padding-bottom:min(24rem,84vw)!important;
}

/* Restore V3's joined bubble silhouette. Later oversized SVG offsets made
   tails look detached on both desktop and mobile. */
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail {
  bottom:0!important;width:.88rem!important;height:1.02rem!important;
  z-index:1!important;color:var(--message-shape-fill)!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-outgoing .messenger-bubble > svg.messenger-bubble-tail { right:-.48rem!important; }
html:root body.messages-route #messages-root .messenger-message.has-tail.is-incoming .messenger-bubble > svg.messenger-bubble-tail { left:-.48rem!important; }
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble {
  filter:drop-shadow(0 0 .035rem var(--message-shape-line,var(--msg-line))) drop-shadow(0 .18rem .32rem rgb(2 6 23 / 8%));
}

/* The ring SVG extends slightly beyond the circular video crop. */
html:root body.messages-route #messages-root .messenger-bubble.is-video-note-reply > .messenger-video-note-list,
html:root body.messages-route #messages-root .messenger-bubble.is-video-note-reply .messenger-video-note {
  overflow:visible!important;
}
html:root body.messages-route #messages-root .messenger-video-note video { border-radius:50%!important; }
@media (max-width:767px) {
  html:root body.messages-route #messages-root .messenger-video-note.is-playing .messenger-video-note-ring {
    filter:none!important;
  }
}
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes .emoji-picker-mode-button svg {
  display:block!important;flex:0 0 1rem!important;opacity:1!important;visibility:visible!important;
}

/* Match V3's two-stage filled beacon on the number only. */
html:root body #profile-left-rail #messages-nav-dot.is-alerting,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting {
  animation:none!important;isolation:isolate!important;overflow:visible!important;
  --nav-alert-color:#2583ff;
}
html:root body #profile-left-rail #messages-nav-dot.is-alerting::before,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before {
  content:""!important;position:absolute!important;z-index:-1!important;inset:-.22rem!important;
  border:0!important;border-radius:inherit!important;filter:none!important;
  background:color-mix(in srgb,var(--nav-alert-color) 34%,transparent)!important;
  animation:nav-alert-beacon 1.45s ease-out infinite!important;
}
html:root body #profile-left-rail #messages-nav-dot.is-alerting::after,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
  content:""!important;position:absolute!important;z-index:-1!important;inset:-.28rem!important;
  border:2px solid var(--nav-alert-color)!important;border-radius:inherit!important;
  background:transparent!important;box-shadow:0 0 .55rem color-mix(in srgb,var(--nav-alert-color) 82%,transparent)!important;
  animation:nav-alert-beacon 1.45s .18s ease-out infinite!important;
}
@media (prefers-reduced-motion:reduce) {
  html:root body #profile-left-rail #messages-nav-dot.is-alerting::before,
  html:root body #profile-left-rail #messages-nav-dot.is-alerting::after,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after { animation:none!important; }
}

@media (max-width:767px) {
  html:root body.mobile-chat-open.messages-route .messenger-conversation { padding-bottom:0!important; }
  html:root body.mobile-chat-open,
  html:root body.mobile-chat-open.messages-route { background:var(--msg-panel,var(--theme-surface-panel,#142033))!important; }
}

/* V3 beacon geometry for every navigation source, with source-specific hue. */
html:root body #messages-nav-dot,
html:root body #mobile-bottom-navigation > button[data-mobile-section="messages"] .mobile-bottom-indicator.is-alerting { --nav-alert-color:#2583ff; }
html:root body #friends-nav-dot,
html:root body #sidebar-signals-badge,
html:root body #mobile-bottom-navigation > button[data-mobile-section="friends"] .mobile-bottom-indicator.is-alerting { --nav-alert-color:#ff4567; }
html:root body #spaces-nav-dot,
html:root body .space-alert-badge,
html:root body #mobile-bottom-navigation > button[data-mobile-section="spaces"] .mobile-bottom-indicator.is-alerting { --nav-alert-color:#9858ff; }
html:root body :is(.nav-alert-indicator,.space-alert-badge,#sidebar-signals-badge),
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator:not([hidden]) {
  isolation:isolate!important;overflow:visible!important;
  background:var(--nav-alert-color,#ff4567)!important;
  border-color:var(--vmesta-ui-surface,var(--adaptive-surface,#fff))!important;
  box-shadow:0 0 0 1px rgb(255 255 255/.72),
    0 0 .45rem color-mix(in srgb,var(--nav-alert-color,#ff4567) 96%,transparent),
    0 0 1rem color-mix(in srgb,var(--nav-alert-color,#ff4567) 72%,transparent)!important;
}
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator:not([hidden]) { position:absolute!important; }
html:root body #sidebar-signals-badge.is-unread,
html:root body .nav-alert-indicator.is-alerting,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting {
  animation:none!important;transform:none!important;
}
html:root body :is(.nav-alert-indicator.is-alerting,.space-alert-badge,#sidebar-signals-badge.is-unread)::before,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before {
  content:""!important;position:absolute!important;z-index:-1!important;inset:-.22rem!important;
  border:0!important;border-radius:inherit!important;filter:none!important;pointer-events:none!important;
  background:color-mix(in srgb,var(--nav-alert-color,#ff4567) 34%,transparent)!important;
  animation:nav-alert-beacon 1.45s ease-out infinite!important;
}
html:root body :is(.nav-alert-indicator.is-alerting,.space-alert-badge,#sidebar-signals-badge.is-unread)::after,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
  content:""!important;position:absolute!important;z-index:-1!important;inset:-.28rem!important;
  border:2px solid var(--nav-alert-color,#ff4567)!important;border-radius:inherit!important;
  background:transparent!important;filter:none!important;pointer-events:none!important;
  box-shadow:0 0 .55rem color-mix(in srgb,var(--nav-alert-color,#ff4567) 82%,transparent)!important;
  animation:nav-alert-beacon 1.45s .18s ease-out infinite!important;
}
@media (prefers-reduced-motion:reduce) {
  html:root body :is(.nav-alert-indicator.is-alerting,.space-alert-badge,#sidebar-signals-badge.is-unread)::before,
  html:root body :is(.nav-alert-indicator.is-alerting,.space-alert-badge,#sidebar-signals-badge.is-unread)::after,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after { animation:none!important; }
}

/* Notification attention follows the site's online dot: one soft filled
   pulse behind a solid core, not the expanding double-outline beacon. */
html:root body #profile-left-rail .nav-alert-indicator.is-alerting,
html:root body #sidebar-signals-badge.is-unread,
html:root body .space-alert-badge,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting {
  box-shadow:0 0 0 1px color-mix(in srgb,var(--nav-alert-color,#ff4567) 30%,transparent)!important;
  animation:none!important;isolation:isolate!important;overflow:visible!important;
}
html:root body #profile-left-rail .nav-alert-indicator.is-alerting,
html:root body #sidebar-signals-badge.is-unread,
html:root body .space-alert-badge { position:relative!important; }
html:root body #profile-left-rail #messages-nav-dot.is-alerting::before,
html:root body #profile-left-rail .nav-alert-indicator.is-alerting::before,
html:root body #sidebar-signals-badge.is-unread::before,
html:root body .space-alert-badge::before,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before {
  content:""!important;position:absolute!important;z-index:-1!important;inset:-.1875rem!important;
  border:0!important;border-radius:9999px!important;filter:none!important;
  background:color-mix(in srgb,var(--nav-alert-color,#ff4567) 56%,transparent)!important;
  animation:unified-online-pulse 1.8s cubic-bezier(.2,.65,.35,1) infinite!important;
}
html:root body #profile-left-rail #messages-nav-dot.is-alerting::after,
html:root body #profile-left-rail .nav-alert-indicator.is-alerting::after,
html:root body #sidebar-signals-badge.is-unread::after,
html:root body .space-alert-badge::after,
html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::after {
  content:none!important;animation:none!important;
}
@media (prefers-reduced-motion:reduce) {
  html:root body #profile-left-rail .nav-alert-indicator.is-alerting::before,
  html:root body #sidebar-signals-badge.is-unread::before,
  html:root body .space-alert-badge::before,
  html:root body #mobile-bottom-navigation > button .mobile-bottom-indicator.is-alerting::before { animation:none!important; }
}

/* A themed frame covers the camera's native black frame while a newly
   selected device warms up. Keep the ring and flip control visible above it. */
html:root body .messenger-recording-video.is-camera-loading {
  background:color-mix(in srgb,var(--msg-accent,#249653) 48%,var(--msg-panel,#142033))!important;
}
html:root body .messenger-recording-video.is-camera-loading > video { opacity:0!important; }
html:root body .messenger-recording-video.is-camera-loading .messenger-video-loading-shimmer {
  opacity:1!important;visibility:visible!important;
  background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--msg-accent,#249653) 72%,#fff) 0%,var(--msg-accent,#249653) 47%,color-mix(in srgb,var(--msg-accent,#249653) 54%,var(--msg-panel,#142033)) 100%)!important;
  animation:messenger-camera-warmup 1.1s ease-in-out infinite!important;
}
@keyframes messenger-camera-warmup { 0%,100%{filter:brightness(.88)} 50%{filter:brightness(1.06)} }

/* Один источник времени: кольцо следует elapsed записи, не запускает
   независимую CSS-анимацию заново при обновлении оболочки. */
html:root body #messenger-recording-panel.is-active.is-video:not(.is-starting):not(.is-draft) .messenger-recording-video-ring-progress {
  animation:none!important;transition:stroke-dasharray .2s linear;
}
html:root body #messenger-recording-panel.is-active.is-video:not(.is-starting):not(.is-draft) .messenger-recording-video-ring-thumb {
  animation:none!important;transition:transform .2s linear;
}
@media (prefers-reduced-motion:reduce) {
  html:root body #messenger-recording-panel.is-active.is-video:not(.is-starting):not(.is-draft) :is(.messenger-recording-video-ring-progress,.messenger-recording-video-ring-thumb) { animation:none!important; }
}

/* Reserve a small clear gap under the emoji/sticker category divider, within
   the fixed sheet height; the scrolling grid still owns the remaining area. */
html:root body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] :is(.emoji-picker-tabs,.emoji-sticker-packs) {
  margin-bottom:.3rem!important;
}
html:root:not(.dark):is(.adaptive-theme,:not(.adaptive-theme)):is(.theme-monet-active,:not(.theme-monet-active)) body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes > .emoji-picker-mode-button.is-active {
  background:#e1f1e7!important;color:#16784c!important;
  box-shadow:inset 0 0 0 1px rgb(22 120 76/.24)!important;
}
html:root.dark:is(.adaptive-theme,:not(.adaptive-theme)):is(.theme-monet-active,:not(.theme-monet-active)) body .emoji-picker.emoji-picker-expanded[data-allow-stickers="1"] .emoji-picker-bottom-modes > .emoji-picker-mode-button.is-active {
  background:#17392d!important;color:#44c483!important;
  box-shadow:inset 0 0 0 1px rgb(68 196 131/.3)!important;
}

/* v160: profile media showcase, security dialogs and room controls. */
html:root body .profile-showcase-panel { width:100%; }
html:root body .profile-showcase-card { max-width:52rem; margin:auto; padding:clamp(.8rem,2vw,1.4rem); border:1px solid var(--theme-border-soft,var(--standard-line,#334155)); border-radius:1.2rem; background:var(--theme-surface-panel,var(--standard-panel,#182233)); color:var(--theme-text-primary,var(--standard-text-active,#fff)); }
html:root body .profile-showcase-heading { color:var(--theme-text-primary,#fff); font-size:1rem; font-weight:850; }
html:root body #avatar-showcase-count { color:var(--theme-text-muted,#9aaabd); font-size:.7rem; font-weight:750; }
html:root body #avatar-showcase-toggle { color:var(--color-dynamic,#258a5c); }
html:root body .profile-media-tabs { min-width:0; max-width:100%; overflow-x:auto; scrollbar-width:none; }
html:root body .profile-media-tabs > button { flex:0 0 auto; }
html:root body .space-profile-photo-field:has(.space-profile-showcase-card) { padding:0; }
html:root body .space-profile-photo-field > .space-profile-showcase-card { width:100%; max-width:none; }
html:root body .privacy-blacklist-astronaut { display:block; width:min(8rem,42%); height:6.5rem; margin:0 auto .6rem; object-fit:contain; }
html:root body :is(#cover-themes-pane,#cover-security-pane,#cover-notifications-pane,#cover-data-pane,#cover-privacy-pane) .cover-account-card,
html:root body :is(#cover-themes-pane,#cover-security-pane,#cover-notifications-pane,#cover-data-pane,#cover-privacy-pane) .cover-account-card-header,
html:root body :is(.cover-account-setting-row,.cover-account-toggle-row,.cover-account-password-value,.cover-security-dialog) { border-radius:1rem!important; }
html:root body > .cover-security-modal:not(.hidden) { top:var(--cover-dialog-viewport-top,0px)!important; bottom:auto!important; height:var(--cover-dialog-viewport-height,100dvh)!important; align-items:safe center!important; }
html:root body > .cover-security-modal .cover-security-dialog { max-height:calc(var(--cover-dialog-viewport-height,100dvh) - 1rem)!important; }
@media(max-width:767px) {
  html:root body > .cover-security-modal:not(.hidden) { align-items:flex-start!important; padding:.45rem!important; }
  html:root body > .cover-security-modal .cover-security-dialog { margin:auto!important; width:100%; border-radius:1.1rem!important; }
  html:root body > .cover-security-modal .cover-security-dialog-body { overscroll-behavior:contain; }
  html:root body #cover-animation-panel { margin:.6rem!important; border-radius:1.3rem!important; overflow:hidden; }
  html:root body #cover-animation-panel .cover-editor-workspace { border-radius:1.2rem!important; }
}
html:root body .messenger-room-panel-header-actions > .messenger-room-manage-menu > .messenger-room-panel-manage,
html:root body .messenger-room-panel-header-actions > .messenger-room-panel-close { background:var(--msg-menu-soft,var(--theme-surface-control,#253247))!important; color:var(--msg-accent,var(--color-dynamic,#258a5c))!important; border:1px solid var(--msg-line,var(--theme-border-soft,#334155))!important; border-radius:.68rem!important; clip-path:none!important; }
html:root body .messenger-room-panel-header-actions > .messenger-room-manage-menu > .messenger-room-panel-manage:is(:hover,:focus-visible),
html:root body .messenger-room-panel-header-actions > .messenger-room-panel-close:is(:hover,:focus-visible) { background:var(--msg-accent-soft,color-mix(in srgb,var(--msg-accent,#258a5c) 20%,var(--msg-panel,#182233)))!important; }
html:root body .messenger-room-manage-popover { border:1px solid var(--msg-line,#334155); background:var(--msg-menu-surface,var(--theme-surface-panel,#182233)); color:var(--msg-text,var(--theme-text-primary,#fff)); }
html:root body .messenger-room-manage-popover button:is(:hover,:focus-visible) { background:var(--msg-accent-soft,var(--theme-surface-control,#253247)); }
html:root body .messenger-room-manage-popover button > .messenger-icon { color:var(--msg-accent,var(--color-dynamic,#258a5c)); }
html:root body .messenger-room-manage-popover small { color:var(--msg-muted,var(--theme-text-muted,#9aaabd)); }
html:root body .messenger-photo-viewer-copy { position:fixed; z-index:2; bottom:max(1rem,env(safe-area-inset-bottom)); left:1rem; min-height:2.6rem; padding:.6rem .85rem; border:1px solid var(--msg-line,#334155); border-radius:.8rem; background:var(--msg-panel,#182233); color:var(--msg-accent,#258a5c); font-size:.78rem; font-weight:800; }

/* v161: profile editor, stateful controls and portrait video. */
html:root body #cover-avatar-pane .cover-avatar-library,
html:root body #cover-devices-disclosure { overflow:hidden; border:1px solid var(--theme-border-subtle,#dce6f3)!important; border-radius:1.15rem!important; background:var(--theme-surface-control,#eaf1f9)!important; }
html:root body #cover-avatar-pane .cover-avatar-library > summary,
html:root body #cover-devices-disclosure > summary { min-height:4.5rem; padding:1rem 1.15rem!important; border-radius:1rem; background:var(--theme-surface-panel,#fff); color:var(--theme-text-primary,#234366); }
html:root body #cover-avatar-pane .cover-avatar-library > summary strong,
html:root body #cover-devices-disclosure > summary strong { color:var(--theme-text-primary,#234366); }
html:root body #cover-avatar-pane .cover-avatar-library > summary::after { margin-left:auto; background:var(--theme-surface-control,#e4edf8); color:var(--color-dynamic,#3775ca); }
html:root body #cover-avatar-pane .cover-avatar-count { color:var(--color-dynamic,#3775ca); background:var(--theme-surface-control,#e4edf8); }
html:root body #cover-avatar-pane .cover-avatar-library-body { grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); align-items:start; padding:1rem; }
html:root body #cover-avatar-pane .cover-avatar-gallery { display:grid; grid-column:span 2; grid-template-columns:repeat(auto-fill,minmax(9rem,1fr)); gap:.65rem; }
html:root body #cover-avatar-pane .cover-avatar-gallery-card { display:grid; align-content:start; min-height:8rem; aspect-ratio:auto; padding:.5rem; border:1px solid var(--theme-border-subtle,#dce6f3); border-radius:.85rem; background:var(--theme-surface-control,#e4edf8); color:var(--theme-text-primary,#234366); text-align:left; }
html:root body #cover-avatar-pane .cover-avatar-gallery-card img { width:100%; height:6.5rem; border-radius:.55rem; object-fit:cover; }
html:root body #cover-avatar-pane .cover-avatar-gallery-card strong { padding:.45rem .15rem .15rem; font-size:.73rem; }
html:root body #cover-avatar-pane .cover-avatar-gallery-card small { left:.6rem; bottom:2.5rem; }
html:root body #cover-avatar-pane .cover-avatar-add { min-height:8rem; background:color-mix(in srgb,var(--color-dynamic,#3775ca) 12%,var(--theme-surface-panel,#fff)); }
html:root body #cover-avatar-pane .cover-avatar-edit-current { grid-column:1/-1; justify-self:start; background:var(--theme-surface-control,#e4edf8); color:var(--color-dynamic,#3775ca); }
html:root body #cover-devices-disclosure .cover-devices-action { color:var(--color-dynamic,#3775ca); background:color-mix(in srgb,var(--color-dynamic,#3775ca) 12%,var(--theme-surface-panel,#fff)); border-color:transparent; }
html:root body #cover-devices-disclosure .cover-devices-content { padding:1rem!important; }
html:root body #profile-layout-theme-settings .profile-layout-accordion[open] > summary,
html:root body #cover-devices-disclosure[open] > summary { background:color-mix(in srgb,var(--color-dynamic,#3775ca) 10%,var(--theme-surface-panel,#fff)); }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary > span:last-child { color:var(--color-dynamic,#3775ca); transition:transform .2s ease; }
html:root body #profile-layout-theme-settings .profile-layout-accordion[open] > summary > span:last-child { transform:rotate(180deg); }
html:root body #profile-layout-theme-settings .profile-layout-accordion-content > button:is(:hover,:focus-visible),
html:root body #profile-layout-theme-settings .mobile-nav-inline > summary:is(:hover,:focus-visible) { background:color-mix(in srgb,var(--color-dynamic,#3775ca) 14%,var(--theme-surface-panel,#fff)); color:var(--color-dynamic,#3775ca); outline:0; }
html:root body #cover-devices-list .cover-device-row.is-current { border-color:color-mix(in srgb,var(--color-dynamic,#3775ca) 48%,var(--theme-border-subtle,#dce6f3)); background:color-mix(in srgb,var(--color-dynamic,#3775ca) 12%,var(--theme-surface-panel,#fff)); }
html:root body .privacy-blacklist-astronaut { display:block; width:min(8rem,42%); height:6.5rem; margin:0 auto .6rem; background:var(--color-dynamic,var(--theme-accent,#3775ca)); -webkit-mask:url('/assets/vmesta-sanction-astronaut.svg') center/contain no-repeat; mask:url('/assets/vmesta-sanction-astronaut.svg') center/contain no-repeat; animation:vmesta-astronaut-float 4.5s ease-in-out infinite; filter:drop-shadow(0 .5rem .65rem color-mix(in srgb,var(--color-dynamic,#3775ca) 25%,transparent)); }
@keyframes vmesta-astronaut-float { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-.55rem) rotate(3deg); } }
@media(prefers-reduced-motion:reduce) { html:root body .privacy-blacklist-astronaut { animation:none; } }
html:root body .post-pin-action { color:var(--theme-text-primary,#334155)!important; background:transparent!important; }
html:root body .post-pin-action:is(:hover,:focus-visible) { background:var(--theme-surface-control,#e4edf8)!important; }
html:root body .post-pin-action.is-pinned { color:var(--color-dynamic,var(--theme-accent,#3775ca))!important; background:color-mix(in srgb,var(--color-dynamic,#3775ca) 13%,transparent)!important; }
html:root body .avatar-showcase-empty { grid-column:1/-1; display:grid; place-items:center; gap:.45rem; min-height:11rem; padding:1.2rem; border:1px dashed var(--theme-border-subtle,#dce6f3); border-radius:1rem; background:var(--theme-surface-control,#e4edf8); text-align:center; }
html:root body .avatar-showcase-empty strong { color:var(--theme-text-primary,#234366); font-size:.86rem; }
html:root body .avatar-showcase-empty small { color:var(--theme-text-muted,#64748b); font-size:.7rem; }
html:root body .avatar-showcase-empty button { margin-top:.3rem; padding:.6rem .85rem; border:0; border-radius:.7rem; background:var(--color-dynamic,#3775ca); color:#fff; font-size:.7rem; font-weight:800; }
html:root body .vmesta-video-player.is-portrait:not(:fullscreen) { width:min(100%,28rem,40dvh); max-width:28rem; aspect-ratio:var(--vmesta-video-ratio,9 / 16); max-height:72dvh; }
html:root body .vmesta-video-player.is-landscape:not(:fullscreen) { aspect-ratio:var(--vmesta-video-ratio,16 / 9); }
html:root body .galaxy-video-player.is-portrait:not(:fullscreen) { width:min(100%,34rem,42dvh); max-width:34rem; aspect-ratio:var(--galaxy-video-ratio,9 / 16); max-height:calc(100dvh - 8rem); }
html:root body .galaxy-video-player.is-landscape:not(:fullscreen) { aspect-ratio:var(--galaxy-video-ratio,16 / 9); }
@media(min-width:768px) {
  html:root body #media-viewer:not(.is-post-expanded):has(#galaxy-video-player.is-portrait:not(.hidden)) .media-viewer-layout { width:min(34rem,42dvh,calc(100vw - 2rem)); max-height:calc(100dvh - 5.75rem); aspect-ratio:9 / 16; }
  html:root body #media-viewer.is-post-expanded:has(#galaxy-video-player.is-portrait:not(.hidden)) .media-viewer-photo-pane { width:min(34rem,42dvh); flex:0 0 auto; }
}
html:root body .notification-disclosure-head { position:relative; display:flex; align-items:stretch; }
html:root body .notification-disclosure-head > .notification-preference-row { flex:1; padding-right:3.2rem!important; }
html:root body .notification-disclosure-toggle { display:grid; place-items:center; width:2.35rem; min-height:2.35rem; border:0; border-radius:.7rem; background:var(--theme-surface-control,#e4edf8); color:var(--color-dynamic,#3775ca); cursor:pointer; font-size:1.25rem; font-weight:850; }
html:root body .notification-disclosure-head > .notification-disclosure-toggle { position:absolute; right:.65rem; top:50%; transform:translateY(-50%); }
html:root body .notification-disclosure-toggle[aria-expanded="false"] { rotate:-90deg; }
html:root body .notification-disclosure-body[hidden],html:root body .notification-mobile-disclosure-body[hidden] { display:none!important; }
html:root body .notification-mobile-disclosure { position:relative; }
html:root body .notification-mobile-disclosure > .notification-preference-row { padding-right:3.3rem!important; }
html:root body .notification-mobile-disclosure > .notification-disclosure-toggle { position:absolute; top:50%; right:.65rem; transform:translateY(-50%); }
html:root body .notification-mobile-disclosure-body { padding:.55rem .9rem 1rem; color:var(--theme-text-muted,#64748b); font-size:.72rem; line-height:1.5; }
@media(max-width:640px) { html:root body #cover-avatar-pane .cover-avatar-gallery { grid-column:1/-1; } html:root body .vmesta-video-player.is-portrait:not(:fullscreen) { max-height:68dvh; } }

/* v162: direct-chat bubble and tail share the actual painted color in every theme. */
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) #messenger-message-stream { padding-inline:max(1.05rem, env(safe-area-inset-left))!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail {
  bottom:0!important;width:.88rem!important;height:1.02rem!important;filter:none!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail > .messenger-bubble-tail-fill { fill:var(--message-shape-fill)!important;stroke:none!important; }

/* The old compact-menu width must not apply to the expanded desktop picker. */
html:root body.messages-route #messages-root .messenger-message-menu-stack.has-reaction-picker {
  position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;
  height:100dvh!important;max-height:none!important;display:grid!important;place-items:center!important;
  overflow:hidden!important;padding:.75rem!important;
}

html:root body #messenger-recording-panel.is-active.is-video .messenger-recording-video video { transform:none!important; }

/* v163: the editor frame and disclosure controls follow the selected theme. */
html:root body #cover-animation-panel {
  border:1px solid var(--theme-border-subtle,var(--adaptive-border,#334155))!important;
  background:var(--theme-surface-panel,var(--adaptive-surface,#182233))!important;
}
@media(max-width:767px) { html:root body #cover-animation-panel { box-shadow:0 0 0 .7rem var(--theme-surface-panel,var(--adaptive-surface,#182233))!important; } }
html:root body #cover-animation-panel .cover-editor-workspace {
  border:1px solid var(--theme-border-subtle,var(--adaptive-border,#334155))!important;
  background:var(--theme-surface-panel,var(--adaptive-surface,#182233))!important;
  color:var(--theme-text-primary,var(--adaptive-text-strong,#fff))!important;
}
html:root body #cover-avatar-pane .cover-avatar-library > summary,
html:root body #cover-devices-disclosure > summary {
  min-height:3.1rem!important;padding:.55rem .8rem!important;
  border-radius:.8rem!important;
}
html:root body #cover-avatar-pane .cover-avatar-library > summary strong { font-size:.82rem!important; }
html:root body #cover-avatar-pane .cover-avatar-library > summary small { font-size:.6rem!important; }
html:root body #cover-avatar-pane .cover-avatar-head { gap:.65rem!important;padding:.55rem .7rem!important;border:1px solid var(--theme-border-subtle,#334155)!important;background:var(--theme-surface-control,#253247)!important; }
html:root body #cover-avatar-pane .cover-avatar-head > img { width:2.45rem!important;height:2.45rem!important;flex:0 0 2.45rem;border-radius:.65rem!important; }
html:root body #cover-avatar-pane .cover-avatar-head h3 { font-size:.8rem!important; }
html:root body #cover-avatar-pane .cover-avatar-head p { margin:.15rem 0 0!important;font-size:.65rem!important; }
html:root body #cover-avatar-pane .cover-avatar-count {
  margin-left:auto!important;min-width:1.7rem!important;text-align:center!important;
  border-radius:.5rem!important;padding:.26rem .38rem!important;
}
html:root body #cover-avatar-pane .cover-avatar-library > summary::after {
  content:''!important;width:.52rem!important;height:.52rem!important;flex:0 0 .52rem!important;
  margin-left:.4rem!important;padding:0!important;border:solid currentColor!important;
  border-width:0 2px 2px 0!important;border-radius:0!important;background:none!important;
  transform:rotate(45deg)!important;
}
html:root body #cover-avatar-pane .cover-avatar-library[open] > summary::after { transform:rotate(225deg)!important; }
html:root body #cover-image-grid .cover-image-group-toggle { min-height:3.1rem!important;padding:.55rem .8rem!important; }
html:root body #cover-image-grid .cover-image-group-toggle em { background:var(--theme-surface-control,#e4edf8)!important;color:var(--color-dynamic,#3775ca)!important; }
html:root body #cover-image-grid .cover-image-group-toggle svg { color:var(--color-dynamic,#3775ca)!important; }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary > span:last-child,
html:root body #profile-layout-theme-settings .mobile-nav-inline > summary > span:last-child {
  display:grid;place-items:center;width:1.55rem;height:1.55rem;flex:0 0 1.55rem;
  font-size:0!important;color:var(--color-dynamic,#3775ca)!important;
}
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary > span:last-child::after,
html:root body #profile-layout-theme-settings .mobile-nav-inline > summary > span:last-child::after {
  content:'';width:.48rem;height:.48rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s;
}
html:root body #profile-layout-theme-settings .profile-layout-accordion[open] > summary > span:last-child { transform:none!important; }
html:root body #profile-layout-theme-settings .profile-layout-accordion[open] > summary > span:last-child::after,
html:root body #profile-layout-theme-settings .mobile-nav-inline[open] > summary > span:last-child::after { transform:rotate(225deg); }
html:root body #profile-layout-theme-settings .profile-layout-accordion-content > button > svg { color:var(--color-dynamic,#3775ca)!important; }
html:root body .notification-disclosure-head > .notification-preference-row,
html:root body .notification-mobile-disclosure > .notification-preference-row,
html:root body #cover-notifications-pane .notification-message-family .notification-disclosure-head > .notification-preference-row { padding-right:6.2rem!important; }
html:root body .notification-disclosure-toggle,
html:root body .notification-disclosure-head > .notification-disclosure-toggle,
html:root body .notification-mobile-disclosure > .notification-disclosure-toggle {
  right:4.2rem!important;top:50%!important;width:1.6rem!important;min-height:1.6rem!important;
  border-radius:.45rem!important;background:transparent!important;
  transform:translateY(-50%)!important;rotate:none!important;
}
html:root body .notification-disclosure-toggle svg { width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s; }
html:root body .notification-disclosure-toggle[aria-expanded="false"] svg { transform:rotate(-90deg); }

/* Each tail takes the computed paint from its own bubble (or voice capsule). */
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail {
  display:block!important;visibility:visible!important;opacity:1!important;
  position:absolute!important;bottom:0!important;z-index:9!important;
  width:1.03rem!important;height:1.17rem!important;filter:none!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-outgoing .messenger-bubble > svg.messenger-bubble-tail { right:-.61rem!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-incoming .messenger-bubble > svg.messenger-bubble-tail { left:-.61rem!important; }

html:root body .messenger-room-notification-control { display:flex;align-items:center;justify-content:space-between;gap:.8rem;width:100%;min-height:3.5rem;margin:.65rem 0;padding:.65rem .8rem;border:1px solid var(--msg-line,#334155);border-radius:.8rem;background:var(--msg-panel,#182233);color:var(--msg-text,#fff);cursor:pointer; }
html:root body .messenger-room-notification-control > span { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:.55rem;min-width:0; }
html:root body .messenger-room-notification-control .messenger-icon { grid-row:span 2;color:var(--msg-accent,var(--color-dynamic,#258a5c)); }
html:root body .messenger-room-notification-control b { font-size:.7rem; }
html:root body .messenger-room-notification-control small { color:var(--msg-muted,#9aaabd);font-size:.58rem; }
html:root body .messenger-room-notification-control input { position:absolute;opacity:0; }
html:root body .messenger-room-notification-control > i { position:relative;flex:0 0 2.5rem;width:2.5rem;height:1.35rem;border-radius:999px;background:var(--msg-muted,#64748b);transition:background .2s; }
html:root body .messenger-room-notification-control > i::after { content:'';position:absolute;top:.15rem;left:.15rem;width:1.05rem;height:1.05rem;border-radius:50%;background:#fff;transition:transform .2s; }
html:root body .messenger-room-notification-control input:checked + i { background:var(--msg-accent,var(--color-dynamic,#258a5c)); }
html:root body .messenger-room-notification-control input:checked + i::after { transform:translateX(1.15rem); }
html:root body .messenger-room-achievement-showcase { width:100%;margin:.65rem 0; }
html:root body .messenger-room-achievement-heading { display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--msg-text,#fff);font-size:.7rem; }
html:root body .messenger-room-achievement-heading button { border:0;background:none;color:var(--msg-accent,var(--color-dynamic,#258a5c));font-weight:800; }
html:root body .messenger-room-achievement-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-top:.45rem; }
html:root body .messenger-room-achievement-grid .achievement-showcase-item { min-height:4.3rem; }
html:root body .messenger-room-achievement-empty { display:grid;place-items:center;min-height:4.3rem;border:1px dashed var(--msg-line,#334155);border-radius:.75rem;color:var(--msg-accent,var(--color-dynamic,#258a5c));opacity:.5; }
html:root body .messenger-room-achievement-settings { display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem;border:1px solid var(--msg-line,#334155);border-radius:.8rem;background:var(--msg-panel,#182233);color:var(--msg-text,#fff);text-align:left; }
html:root body .messenger-room-achievement-settings > span:not(.messenger-icon) { display:grid;flex:1;gap:.1rem; }
html:root body .messenger-room-achievement-settings .messenger-icon { color:var(--msg-accent,var(--color-dynamic,#258a5c)); }
html:root body :is(.messenger-room-settings-modal,.messenger-room-panel) button > .messenger-icon { color:var(--msg-accent,var(--color-dynamic,#258a5c)); }
html:root body .messenger-room-settings-modal > section > header button,
html:root body .messenger-room-panel-header-actions > button { background:var(--msg-menu-soft,var(--theme-surface-control,#253247))!important;color:var(--msg-accent,var(--color-dynamic,#258a5c))!important;border:1px solid var(--msg-line,#334155)!important;border-radius:.68rem!important;clip-path:none!important; }
html:root body .achievements-dialog:has([data-achievement-scope="group"].is-active) .achievement-row.is-locked,
html:root body .achievements-dialog:has([data-achievement-scope="channel"].is-active) .achievement-row.is-locked { filter:none!important;opacity:.62!important; }
html:root body .achievements-dialog:has([data-achievement-scope="group"].is-active) .achievement-row.is-locked .achievement-badge,
html:root body .achievements-dialog:has([data-achievement-scope="channel"].is-active) .achievement-row.is-locked .achievement-badge { color:var(--color-dynamic,#258a5c)!important; }
html:root body .messenger-photo-grid button[data-photo-index] { position:relative; }
html:root body .messenger-photo-grid button[data-photo-index].is-selected { outline:.18rem solid var(--msg-accent)!important;outline-offset:-.18rem; }
html:root body .messenger-photo-selection-order { position:absolute;top:.4rem;right:.4rem;z-index:4;display:none;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .2rem;border-radius:999px;background:var(--msg-accent);color:#fff;font-size:.68rem;font-weight:850;box-shadow:0 .1rem .3rem rgb(0 0 0 / 30%); }
html:root body .messenger-photo-grid button[data-photo-index].is-selected > .messenger-photo-selection-order { display:grid; }
html:root body .messenger-system-member-link { display:inline;padding:0;border:0;background:none;color:var(--msg-accent);font:inherit;font-weight:850;text-decoration:underline;text-underline-offset:.13em;cursor:pointer; }

/* v164: give direct-message tails a painted gutter inside the scrollport. */
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) #messenger-message-stream {
  box-sizing:border-box!important;
  padding-inline:max(1.5rem, env(safe-area-inset-left), env(safe-area-inset-right))!important;
  background:var(--msg-bg,var(--theme-surface-panel,#152030))!important;
  scrollbar-gutter:auto!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail {
  overflow:visible!important;
  contain:none!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail {
  bottom:0!important;z-index:2!important;width:.9rem!important;height:1.04rem!important;
  color:var(--message-shape-fill,var(--msg-panel))!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-incoming .messenger-bubble > svg.messenger-bubble-tail { left:-.5rem!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-outgoing .messenger-bubble > svg.messenger-bubble-tail { right:-.5rem!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail > .messenger-bubble-tail-fill { fill:currentColor!important; }

/* The outer editor mat must use the same live theme as its inner workspace. */
html:root body #profile-layout-grid > #cover-animation-panel,
html:root body #cover-animation-panel .cover-animation-inner {
  background:var(--vmesta-ui-panel,var(--theme-surface-panel,var(--adaptive-surface,#172132)))!important;
  border-color:var(--theme-border-subtle,var(--adaptive-border,#334155))!important;
  box-shadow:none!important;
}
html:root body #cover-animation-panel .cover-editor-workspace { background:var(--vmesta-ui-panel,var(--theme-surface-panel,var(--adaptive-surface,#172132)))!important; }

html:root body .messenger-room-achievement-showcase {
  padding:.8rem!important;border:1px solid var(--msg-line,#334155)!important;
  border-radius:.95rem!important;background:var(--msg-panel,var(--theme-surface-panel,#1d2a3d))!important;
}
html:root body .messenger-room-achievement-grid .achievement-showcase-item,
html:root body .messenger-room-achievement-empty { border-radius:.7rem!important;background:var(--msg-menu-soft,var(--theme-surface-control,#253247))!important; }

html:root body .messenger-room-notification-settings { display:grid;gap:.65rem;margin:.65rem 0;padding:.8rem;border:1px solid var(--msg-line,#334155);border-radius:.85rem;background:var(--msg-panel,#1d2a3d);color:var(--msg-text,#fff); }
html:root body .messenger-room-notification-settings > header { display:flex;align-items:center;gap:.55rem; }
html:root body .messenger-room-notification-settings > header > .messenger-icon { color:var(--msg-accent); }
html:root body .messenger-room-notification-settings > header span { display:grid;gap:.12rem; }
html:root body .messenger-room-notification-settings b { font-size:.7rem; }
html:root body .messenger-room-notification-settings small { color:var(--msg-muted);font-size:.59rem; }
html:root body .messenger-room-notification-modes { display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.4rem; }
html:root body .messenger-room-notification-modes button { min-height:2.15rem;padding:.35rem .5rem;border:1px solid var(--msg-line);border-radius:.58rem;background:var(--msg-menu-soft);color:var(--msg-text);font-size:.61rem;font-weight:750;cursor:pointer; }
html:root body .messenger-room-notification-modes button.is-active { border-color:var(--msg-accent);background:var(--msg-accent-soft);color:var(--msg-accent); }
html:root body .messenger-room-notification-sound { display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--msg-line);cursor:pointer; }
html:root body .messenger-room-notification-sound > span { display:flex;align-items:center;gap:.45rem; }
html:root body .messenger-room-notification-sound .messenger-icon { color:var(--msg-accent); }
html:root body .messenger-room-notification-sound input { position:absolute;opacity:0; }
html:root body .messenger-room-notification-sound > i { position:relative;display:block;flex:0 0 2.5rem;width:2.5rem;height:1.35rem;border-radius:999px;background:var(--msg-muted); }
html:root body .messenger-room-notification-sound > i::after { content:'';position:absolute;top:.15rem;left:.15rem;width:1.05rem;height:1.05rem;border-radius:50%;background:#fff;transition:transform .2s; }
html:root body .messenger-room-notification-sound input:checked + i { background:var(--msg-accent); }
html:root body .messenger-room-notification-sound input:checked + i::after { transform:translateX(1.15rem); }

html:root body #cover-devices-disclosure > summary { display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.6rem!important; }
html:root body #cover-devices-disclosure .cover-devices-action { display:flex!important;align-items:center!important;gap:.45rem!important;min-width:0!important;background:var(--theme-surface-control,var(--vmesta-ui-soft,#243247))!important; }
html:root body #cover-devices-disclosure .cover-devices-count { display:grid;min-width:1.55rem;height:1.55rem;place-items:center;padding:0 .25rem;border-radius:.5rem;background:var(--theme-surface-panel,var(--vmesta-ui-panel,#172132));color:var(--color-dynamic,#258a5c);font-size:.65rem; }
html:root body #cover-devices-disclosure .cover-devices-chevron { width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s; }
html:root body #cover-devices-disclosure[open] .cover-devices-chevron { transform:rotate(180deg); }
@media(max-width:640px) { html:root body #cover-devices-disclosure > summary { align-items:flex-start!important;flex-direction:column!important; } html:root body #cover-devices-disclosure .cover-devices-action { width:100%;justify-content:flex-end!important; } }

/* v166: the tail is a continuation of the actual bubble, including voice notes. */
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble {
  overflow:visible!important;
  isolation:isolate;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail {
  bottom:0!important;z-index:1!important;width:.82rem!important;height:1rem!important;
  color:var(--message-shape-fill)!important;filter:none!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-incoming .messenger-bubble > svg.messenger-bubble-tail { left:-.42rem!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-outgoing .messenger-bubble > svg.messenger-bubble-tail { right:-.42rem!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail > .messenger-bubble-tail-fill { fill:var(--message-shape-fill)!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail > .messenger-bubble-tail-line { display:none!important; }

/* The avatar library now uses the same single disclosure card as cover images. */
html:root body #cover-avatar-pane .cover-avatar-library { margin:.35rem 0!important;padding:.65rem!important;border:0!important;border-radius:1rem!important;background:var(--theme-surface-control,var(--vmesta-ui-soft,#243247))!important;box-shadow:none!important; }
html:root body #cover-avatar-pane .cover-avatar-library > summary { width:100%;min-height:3.1rem!important;padding:.55rem .8rem!important;border:0!important;border-radius:.8rem!important;background:var(--theme-surface-panel,var(--vmesta-ui-panel,#172132))!important; }
html:root body #cover-avatar-pane .cover-avatar-library > summary::after { display:none!important; }
html:root body #cover-avatar-pane .cover-avatar-chevron { flex:0 0 .85rem;width:.85rem;height:.85rem;color:var(--color-dynamic,#3775ca);fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s; }
html:root body #cover-avatar-pane .cover-avatar-library[open] .cover-avatar-chevron { transform:rotate(180deg); }
html:root body #cover-avatar-pane .cover-avatar-gallery-card { border:0!important;box-shadow:none!important; }
html:root body #cover-avatar-pane .cover-avatar-library-body { padding:.75rem!important; }
html:root body #cover-avatar-pane #cover-avatar-preview[hidden] { display:none!important; }
html:root body #cover-animation-panel,
html:root body #cover-animation-panel .cover-editor-workspace { border:0!important;outline:0!important;box-shadow:none!important; }
@media(min-width:768px) { html:root body #cover-animation-panel,html:root body #cover-animation-panel .cover-editor-workspace { border-radius:1.15rem!important; } html:root body #cover-animation-panel .cover-editor-workspace { overflow-x:hidden!important;overflow-y:auto!important; } html:root body #cover-animation-panel .cover-editor-workspace > .cover-editor-pane { border-radius:.9rem!important; } }

/* Keep disclosure switches in the normal switch column; the chevron sits beside them. */
html:root body #cover-notifications-pane .notification-disclosure-head,
html:root body #cover-notifications-pane .notification-mobile-disclosure { position:relative; }
html:root body #cover-notifications-pane .notification-disclosure-head > .notification-preference-row,
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-preference-row,
html:root body #cover-notifications-pane .notification-message-family .notification-disclosure-head > .notification-preference-row { padding-right:.8rem!important; }
html:root body #cover-notifications-pane .notification-disclosure-head > .notification-preference-row > span:first-child,
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-preference-row > span:first-child { padding-right:1.75rem; }
html:root body #cover-notifications-pane .notification-disclosure-head > .notification-disclosure-toggle,
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-disclosure-toggle { right:3.55rem!important;top:50%!important;transform:translateY(-50%)!important; }

html:root body #profile-layout-theme-settings .mobile-nav-inline-title { display:flex;align-items:center;gap:.65rem; }
html:root body #profile-layout-theme-settings .mobile-nav-inline-title > svg { flex:0 0 1.15rem;width:1.15rem;height:1.15rem;color:var(--color-dynamic,#3775ca); }
html:root body #cover-devices-disclosure { border:0!important; }
html:root body #cover-devices-disclosure > summary { display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important; }
html:root body #cover-devices-disclosure > summary > span:first-child { justify-self:start;text-align:left;margin:0!important; }
html:root body #cover-devices-disclosure .cover-devices-action { justify-self:end;justify-content:flex-end!important;width:auto!important; }
@media(max-width:640px) { html:root body #cover-devices-disclosure > summary { grid-template-columns:minmax(0,1fr) auto!important; } html:root body #cover-devices-disclosure .cover-devices-action { font-size:0!important; } html:root body #cover-devices-disclosure .cover-devices-count { font-size:.65rem!important; } }

html:root body .messenger-room-achievement-showcase { border:0!important;box-shadow:none!important; }
html:root body .messenger-room-manage-popover { width:min(15.5rem,calc(100vw - 2rem)); }
html:root body .messenger-room-manage-popover button { width:100%;min-height:3.1rem; }
html:root body .messenger-room-manage-popover button > .messenger-icon { flex:0 0 1.15rem;width:1.15rem;height:1.15rem; }
html:root body .messenger-room-notifications-modal > section { width:min(25rem,95vw); }
html:root body .messenger-room-notifications-modal .messenger-room-settings-scroll { max-height:min(70dvh,34rem);overflow-y:auto;overscroll-behavior:contain;padding:.75rem; }
html:root body .messenger-room-notifications-modal .messenger-room-notification-settings { margin:0; }
html:root body .messenger-room-panel > nav button { display:flex!important;align-items:center!important;justify-content:center!important;gap:.4rem!important; }
html:root body .messenger-room-panel > nav button > .messenger-icon { flex:0 0 .85rem;width:.85rem;height:.85rem;vertical-align:middle; }
html:root body :is(.achievements-scope-tabs,.achievements-dialog-tabs) button:not(.is-active) > svg,
html:root body #mobile-achievements-peek > svg { color:var(--color-dynamic,var(--theme-accent,#3775ca))!important;stroke:currentColor!important; }

/* v167: the disclosure control stays in the first Android/iOS row while its note grows. */
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-disclosure-toggle {
  top:1.7rem!important;right:3.55rem!important;transform:translateY(-50%)!important;rotate:none!important;
}
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-disclosure-toggle[aria-expanded="false"] { rotate:none!important; }
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-disclosure-toggle[aria-expanded="false"] svg { transform:rotate(-90deg)!important; }
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-disclosure-toggle[aria-expanded="true"] svg { transform:rotate(0)!important; }

/* Incremental chat updates can turn a former last message into a middle one. */
html:root body.messages-route #messages-root .messenger-message .messenger-bubble-tail[hidden] { display:none!important; }

/* The entire desktop editor is one rounded surface, not only its scroller. */
@media(min-width:768px) {
  html:root body #profile-layout-grid > #cover-animation-panel,
  html:root body #cover-animation-panel .cover-animation-inner,
  html:root body #cover-animation-panel .cover-editor-workspace { border-radius:1.15rem!important; }
  html:root body #profile-layout-grid > #cover-animation-panel,
  html:root body #cover-animation-panel .cover-animation-inner { overflow:hidden!important; }
}

/* The standalone room notifications dialog must size to its content and scroll inside. */
html:root body .messenger-room-notifications-modal > section {
  display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
  width:min(28rem,calc(100vw - 1rem))!important;
  height:auto!important;max-height:min(38rem,calc(100dvh - 1rem))!important;
  min-width:0!important;border-radius:1rem!important;
}
html:root body .messenger-room-notifications-modal .messenger-room-settings-scroll {
  min-width:0!important;min-height:0!important;max-height:min(31rem,calc(100dvh - 5rem))!important;
  padding:.85rem!important;overflow:auto!important;box-sizing:border-box!important;
}
html:root body .messenger-room-notifications-modal .messenger-room-notification-settings {
  width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;
}
html:root body .messenger-room-notifications-modal .messenger-room-notification-settings > header {
  display:flex!important;justify-content:flex-start!important;gap:.55rem!important;
  padding:0!important;border:0!important;background:transparent!important;
}
html:root body .messenger-room-notifications-modal .messenger-room-notification-modes {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;min-width:0!important;
}
html:root body .messenger-room-notifications-modal .messenger-room-notification-modes button { min-width:0!important;white-space:normal!important; }

/* The menu wrapper and close button share the same top-right baseline. */
html:root body .messenger-room-panel > header > .messenger-room-panel-header-actions {
  position:absolute!important;top:.42rem!important;right:.42rem!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:.34rem!important;
}
html:root body .messenger-room-panel-header-actions > .messenger-room-manage-menu,
html:root body .messenger-room-panel-header-actions .messenger-room-manage-menu > .messenger-room-panel-manage,
html:root body .messenger-room-panel-header-actions > .messenger-room-panel-close {
  width:2.12rem!important;min-width:2.12rem!important;height:2.12rem!important;min-height:2.12rem!important;
  margin:0!important;align-self:center!important;box-sizing:border-box!important;
}
html:root body .messenger-room-panel-header-actions .messenger-room-manage-menu > .messenger-room-panel-manage,
html:root body .messenger-room-panel-header-actions > .messenger-room-panel-close {
  position:static!important;inset:auto!important;display:grid!important;place-items:center!important;padding:0!important;
}
html:root body .messenger-room-panel-header-actions :is(.messenger-room-panel-manage,.messenger-room-panel-close) > .messenger-icon {
  width:.9rem!important;height:.9rem!important;margin:0!important;
}

/* v169: preserve the classic compact message run and one connected tail. */
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) #messenger-message-stream {
  padding-inline:max(.85rem, env(safe-area-inset-left), env(safe-area-inset-right))!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail .messenger-bubble > svg.messenger-bubble-tail {
  width:.88rem!important;height:1.02rem!important;
}
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-incoming .messenger-bubble > svg.messenger-bubble-tail { left:-.48rem!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.has-tail.is-outgoing .messenger-bubble > svg.messenger-bubble-tail { right:-.48rem!important; }

/* The send pulse must outlast a quick server acknowledgement. */
html:root body.messages-route #messages-root .messenger-message.is-entering > :is(.messenger-bubble,.messenger-room-message-avatar) {
  animation:vmesta-message-send-pulse 430ms cubic-bezier(.2,.8,.25,1) both!important;
}
html:root body.messages-route #messages-root .messenger-message.is-upload-complete:not(.is-entering) > .messenger-bubble {
  animation:vmesta-media-send-confirm 520ms ease-out both!important;
}

/* v170: keep viewer controls outside the image, and make crop gestures land on the grid. */
html:root body .messenger-photo-viewer { padding: max(5.25rem, env(safe-area-inset-top)) 1rem max(4.5rem, env(safe-area-inset-bottom))!important; }
html:root body .messenger-photo-viewer figure { max-height: calc(100dvh - 10rem)!important; }
html:root body .messenger-photo-viewer figure > img { max-width: 100%!important; max-height: calc(100dvh - 10rem)!important; }
html:root body .messenger-photo-viewer-close { z-index: 5!important; top: max(.75rem, env(safe-area-inset-top))!important; right: max(.75rem, env(safe-area-inset-right))!important; }
html:root body .messenger-photo-viewer-copy { display:inline-flex!important; align-items:center; gap:.35rem; width:auto!important; min-height:2.15rem!important; padding:.4rem .55rem!important; border-radius:.65rem!important; font-size:.68rem!important; }
html:root body .messenger-photo-viewer-copy .messenger-icon { width:.9rem;height:.9rem; }
html:root body .vmesta-image-editor-crop:not(.hidden) { pointer-events:auto!important; cursor:move; touch-action:none; }
html:root body .vmesta-image-editor-crop [data-crop-handle] { pointer-events:auto!important; cursor:grab; }
html:root body .shared-post-media-viewer { padding:max(5rem, env(safe-area-inset-top)) 1rem 3rem!important; }
html:root body .shared-post-media-viewer figure { height:calc(100dvh - 9rem)!important; }
html:root body .shared-post-media-viewer figure > img { max-height:100%!important; }
html:root body .shared-post-media-close { position:fixed!important; z-index:5!important; top:max(.75rem, env(safe-area-inset-top))!important; right:max(.75rem, env(safe-area-inset-right))!important; }
html:root body #media-viewer-close { position:fixed!important; z-index:50!important; top:max(.75rem, env(safe-area-inset-top))!important; right:max(.75rem, env(safe-area-inset-right))!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.is-incoming.has-tail .messenger-bubble.is-voice-note-only { --message-shape-fill:var(--vmesta-unified-inner,var(--theme-surface-nested))!important; background:var(--message-shape-fill)!important; }
html:root body.messages-route #messages-root .messenger-conversation:not(.is-room-chat) .messenger-message.is-outgoing.has-tail .messenger-bubble.is-voice-note-only { --message-shape-fill:var(--vmesta-unified-strong,var(--theme-surface-active))!important; background:var(--message-shape-fill)!important; }
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble.is-voice-note-only > svg.messenger-bubble-tail { color:var(--message-shape-fill)!important; }

/* v171: desktop photo showcase lives in its original right rail; mobile uses the photo tab. */
@media(min-width:1024px) {
  html:root body #btn-show-showcase { display:none!important; }
  html:root body:has(#tab-photos:not(.hidden)) #profile-right-rail { display:block!important; }
  html:root body:has(#tab-photos:not(.hidden)) #profile-layout-grid > #content-main { grid-column:3 / span 7!important; }
  html:root body #side-photos > #profile-showcase-panel { max-width:none; padding:1.25rem!important; }
}
@media(max-width:1023px) {
  html:root body #profile-showcase-mobile-host { width:100%; min-width:0; }
  html:root body #profile-showcase-mobile-host > #profile-showcase-panel { width:100%; max-width:none; margin:0; padding:1rem!important; }
  html:root body #profile-showcase-mobile-host .avatar-showcase-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  html:root body #profile-showcase-mobile-host .avatar-showcase-item,
  html:root body #profile-showcase-mobile-host .avatar-showcase-placeholder { min-width:0; aspect-ratio:1; }
  html:root.adaptive-theme body #profile-showcase-mobile-host > #profile-showcase-panel { border-color:var(--adaptive-ui-line)!important; background:var(--adaptive-ui-panel)!important; color:var(--adaptive-text-active)!important; }
  html:root.adaptive-theme body #profile-showcase-mobile-host :is(.avatar-showcase-item,.avatar-showcase-placeholder) { border-color:var(--adaptive-ui-line-strong)!important; background:var(--adaptive-ui-active)!important; }
  html:root.adaptive-theme body #profile-showcase-mobile-host :is(.showcase-gallery-icon,.showcase-edit-button) { border-color:var(--adaptive-ui-line-strong)!important; background:var(--adaptive-ui-active)!important; color:var(--color-dynamic,#3b82f6)!important; }
  html:root:not(.adaptive-theme) body #profile-showcase-mobile-host > #profile-showcase-panel { border-color:var(--standard-line)!important; background:var(--standard-panel)!important; color:var(--standard-text-active)!important; box-shadow:var(--standard-shadow)!important; }
  html:root:not(.adaptive-theme) body #profile-showcase-mobile-host :is(.avatar-showcase-item,.avatar-showcase-placeholder,.showcase-gallery-icon,.showcase-edit-button) { border-color:var(--standard-line)!important; background:var(--standard-panel-soft)!important; }
}
@keyframes vmesta-message-send-pulse {
  0% { opacity:.25;transform:translateY(.32rem);filter:brightness(1.12); }
  55% { opacity:.9;transform:translateY(0);filter:brightness(1.06); }
  100% { opacity:1;transform:translateY(0);filter:brightness(1); }
}
@keyframes vmesta-media-send-confirm {
  0%,100% { filter:brightness(1); }
  42% { filter:brightness(1.13); }
}
@media (prefers-reduced-motion: reduce) {
  html:root body.messages-route #messages-root .messenger-message.is-entering > :is(.messenger-bubble,.messenger-room-message-avatar),
  html:root body.messages-route #messages-root .messenger-message.is-upload-complete:not(.is-entering) > .messenger-bubble { animation:none!important; }
}

/* Separate the disclosure hit area from the notification switch. */
html:root body #cover-notifications-pane .notification-disclosure-head > .notification-disclosure-toggle,
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-disclosure-toggle {
  right:4.65rem!important;width:2rem!important;min-height:2rem!important;z-index:2;
}
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-disclosure-toggle { top:1.7rem!important; }
html:root body #cover-notifications-pane .notification-disclosure-head > .notification-preference-row > span:first-child,
html:root body #cover-notifications-pane .notification-mobile-disclosure > .notification-preference-row > span:first-child { padding-right:3.25rem!important; }

/* Match avatar-library labels to the smaller cover-image accordion. */
html:root body #cover-avatar-pane .cover-avatar-library > summary strong { font-size:.72rem!important; }
html:root body #cover-avatar-pane .cover-avatar-library > summary small { font-size:.56rem!important; }
html:root body #cover-avatar-pane .cover-avatar-count {
  min-width:1.55rem!important;padding:.28rem .42rem!important;border-radius:.55rem!important;
  font-size:.5rem!important;font-weight:900!important;line-height:1!important;
}
html:root body #cover-devices-list .cover-device-row.is-current > button {
  color:#df4052!important;
  background:color-mix(in srgb,#df4052 15%,transparent)!important;
  border:1px solid color-mix(in srgb,#df4052 42%,transparent)!important;
}
html:root body #cover-devices-list .cover-device-row.is-current > button:is(:hover,:focus-visible) {
  background:color-mix(in srgb,#df4052 25%,transparent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,#df4052 14%,transparent)!important;
}
html:root body .post-share-destination-avatar-wrap > .user-online-dot.post-share-online-dot {
  right:-.09rem!important;bottom:-.09rem!important;
  width:.875rem!important;min-width:.875rem!important;height:.875rem!important;min-height:.875rem!important;
  border:2px solid var(--share-panel)!important;background:transparent!important;box-shadow:none!important;
}
html:root body .post-share-online-dot .online-dot-core {
  position:relative!important;inset:auto!important;width:.625rem!important;height:.625rem!important;
  box-shadow:inset 0 0 0 1px rgb(255 255 255 / .42)!important;
}
html:root body .post-share-online-dot.is-online .online-dot-pulse {
  inset:-.1875rem!important;background:rgb(74 222 128 / .56)!important;
  animation:unified-online-pulse 1.8s cubic-bezier(.2,.65,.35,1) infinite!important;
}
html:root body .messenger-system-message.has-member-link { cursor:pointer; }
html:root body .messenger-system-message.has-member-link:is(:hover,:focus-visible) {
  outline:2px solid color-mix(in srgb,var(--msg-accent,#2b8a5b) 45%,transparent);outline-offset:2px;
}
/* Keep both the quick actions and the full reaction picker at the tap anchor. */
html:root body.messages-route #messages-root .messenger-message-menu-stack,
html:root body.messages-route #messages-root .messenger-message-menu-stack.has-reaction-picker {
  position:fixed!important;inset:auto!important;
  left:var(--message-menu-x)!important;top:var(--message-menu-y)!important;
  display:flex!important;flex-direction:column!important;place-items:unset!important;
  width:min(18rem,calc(100vw - 1rem))!important;max-width:min(18rem,calc(100vw - 1rem))!important;
  height:auto!important;max-height:calc(100dvh - var(--message-menu-y) - .5rem)!important;
  padding:0!important;overflow:visible!important;
  translate:none!important;
}
html:root body.messages-route #messages-root .messenger-message-menu-stack.is-opening-up,
html:root body.messages-route #messages-root .messenger-message-menu-stack.has-reaction-picker.is-opening-up {
  max-height:calc(var(--message-menu-y) - .5rem)!important;
  translate:0 -100%!important;
}
html:root body.messages-route #messages-root .messenger-message-menu-stack .messenger-message-menu,
html:root body.messages-route #messages-root .messenger-message-menu-stack.has-reaction-picker .messenger-reaction-picker {
  max-height:inherit!important;overflow-y:auto!important;
}
html:root body.messages-route #messages-root .messenger-message-menu-stack.has-reaction-picker { animation:none!important; }
html:root body.messages-route #messages-root .messenger-message-menu-stack.has-reaction-picker .messenger-reaction-picker {
  animation:vmesta-anchored-reaction-open .16s ease-out both!important;transform-origin:top left!important;
}
html:root body.messages-route #messages-root .messenger-message-menu-stack.has-reaction-picker.is-opening-up .messenger-reaction-picker { transform-origin:bottom left!important; }
@keyframes vmesta-anchored-reaction-open { from { opacity:.35;transform:scale(.96); } to { opacity:1;transform:scale(1); } }
html:root body .messenger-room-member-tag {
  display:inline-flex;float:right;clear:right;max-width:100%;margin:0 0 .3rem .45rem;
  padding:.18rem .45rem;border:1px solid color-mix(in srgb,var(--msg-accent,#23945d) 36%,transparent);
  border-radius:.45rem;background:color-mix(in srgb,var(--msg-accent,#23945d) 12%,transparent);
  color:var(--msg-accent,#23945d);font-size:.58rem;font-weight:800;line-height:1.2;
}
html:root body .messenger-room-tags { margin:.65rem 0;border:1px solid var(--msg-border,#334155);border-radius:.85rem;overflow:hidden; }
html:root body .messenger-room-tags > .messenger-room-members-trigger { margin:0;border:0;border-radius:0; }
/* v196: tags are an explicit, visible settings entry and not an empty spacer. */
html:root body .messenger-room-settings-modal .messenger-room-tags {
  display:block!important;visibility:visible!important;opacity:1!important;
  height:auto!important;max-height:none!important;min-height:3rem;flex-shrink:0;
  background:var(--room-readable-card,var(--msg-panel,#f3f6fb));
}
html:root body .messenger-room-settings-modal .messenger-room-tags > .messenger-room-members-trigger {
  display:flex!important;visibility:visible!important;opacity:1!important;
  min-height:3rem;width:100%;height:auto!important;padding:.8rem!important;
}
html:root body .messenger-room-tags-shortcut {
  display:flex;align-items:center;gap:.7rem;justify-content:space-between;width:100%;
  min-height:3.6rem;margin:0 0 .8rem;padding:.8rem;border:1px solid var(--msg-border,#d7e3f6);
  border-radius:.85rem;background:var(--msg-accent-soft,#e5edfc);color:var(--msg-text,#21518e);
  cursor:pointer;text-align:left;
}
html:root body .messenger-room-tags-shortcut > span { display:grid;gap:.2rem;flex:1;min-width:0; }
html:root body .messenger-room-tags-shortcut b { font-size:.85rem; }
html:root body .messenger-room-tags-shortcut small { font-size:.72rem;color:var(--msg-muted,#6682aa); }
html:root body .messenger-room-tags-shortcut > svg { width:1.1rem;height:1.1rem;flex-shrink:0; }
html:root body .messenger-room-tag-preset {
  grid-column:2/-1;display:flex!important;align-items:center;gap:.5rem;margin:.2rem 0;
}
html:root body .messenger-room-tag-preset > span { flex-shrink:0;font-size:.68rem;color:var(--msg-muted,#6682aa); }
html:root body .messenger-room-tag-preset > select {
  flex:1;min-width:0;padding:.45rem .6rem;border:1px solid var(--msg-border,#d7e3f6);
  border-radius:.5rem;background:var(--msg-input,#edf2fa);color:var(--msg-text,#21518e);font-size:.75rem;
}
html:root body .messenger-room-tags-dialog .messenger-room-tag-row > input {
  background:var(--msg-input,var(--adaptive-surface-soft,#edf2fa))!important;
  color:var(--msg-text,var(--adaptive-text-strong,#21518e))!important;
  border:1px solid var(--msg-border,var(--adaptive-border,#d7e3f6))!important;
  min-height:2.25rem;font-size:.8rem;
}
html:root body .messenger-room-tags-dialog .messenger-room-tag-row > input:disabled { opacity:.65;cursor:not-allowed; }
html:root body .messenger-room-tags.is-open > .messenger-room-members-trigger > .messenger-icon:last-child { transform:rotate(180deg); }
html:root body .messenger-room-tags-list { display:grid;gap:.45rem;padding:.6rem; }
html:root body .messenger-room-tags-list.hidden { display:none; }
html:root body .messenger-room-tag-row { display:grid;grid-template-columns:auto minmax(0,1fr) minmax(5rem,8rem) auto;align-items:center;gap:.45rem;padding:.4rem;border-radius:.65rem;background:var(--msg-panel,#233349); }
html:root body .messenger-room-tag-row > span { display:grid;min-width:0; }
html:root body .messenger-room-tag-row > span :is(b,small) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
html:root body .messenger-room-tag-row > span b { font-size:.68rem; }
html:root body .messenger-room-tag-row > span small { font-size:.56rem;color:var(--msg-muted,#94a3b8); }
html:root body .messenger-room-tag-row > input { min-width:0;padding:.4rem .5rem;border:1px solid var(--msg-border,#334155);border-radius:.45rem;background:var(--msg-input,#152033);color:var(--msg-text,#fff);font-size:.64rem; }
html:root body .messenger-room-tag-row > button { padding:.42rem .55rem;border-radius:.45rem;background:var(--msg-accent,#23945d);color:#fff;font-size:.59rem;font-weight:800; }
@media(max-width:520px) { html:root body .messenger-room-tag-row { grid-template-columns:auto minmax(0,1fr) auto; } html:root body .messenger-room-tag-row > input { grid-column:2; } html:root body .messenger-room-tag-row > button { grid-column:3;grid-row:2; } }
@media(max-width:767px) {
  html:root body #profile-tabs-container .profile-tab-list > .tab-btn,
  html:root body #profile-tabs-container .profile-tab-list > .tab-btn:is(.active,.active-tab,.text-blue-500,.text-blue-600) {
    border:0!important;outline:0!important;box-shadow:none!important;
  }
  html:root body #profile-tabs-container .profile-tab-list > .tab-btn::before,
  html:root body #profile-tabs-container .profile-tab-list > .tab-btn::after { box-shadow:none!important;border:0!important; }
}
html:root body #cover-avatar-pane .cover-avatar-add strong { font-size:.76rem!important;line-height:1.25!important; }

/* Keep the manage gear and close glyph optically centred in equal buttons. */
html:root body .messenger-room-panel-header-actions .messenger-room-manage-menu > .messenger-room-panel-manage,
html:root body .messenger-room-panel-header-actions > .messenger-room-panel-close {
  display:flex!important;align-items:center!important;justify-content:center!important;line-height:0!important;
}
html:root body .messenger-room-panel-header-actions :is(.messenger-room-panel-manage,.messenger-room-panel-close) > .messenger-icon,
html:root body .messenger-room-panel-header-actions :is(.messenger-room-panel-manage,.messenger-room-panel-close) > .messenger-icon > svg {
  display:block!important;width:.95rem!important;height:.95rem!important;margin:0!important;transform:none!important;
}

/* v174: keep the member actions adjacent to the dots, outside the clipped list. */
html:root body .messenger-room-member-actions-menu {
  position:fixed!important;right:auto!important;bottom:auto!important;top:0;left:0;
  transform:none!important;z-index:99000!important;
}
html:root body .messenger-room-member-actions:not(.is-open) .messenger-room-member-actions-menu {
  visibility:hidden!important;opacity:0!important;pointer-events:none!important;
}
html:root body .messenger-room-member-actions.is-open .messenger-room-member-actions-menu {
  visibility:visible!important;opacity:1!important;pointer-events:auto!important;
}

/* Settings pickers use the same bottom tray as the chat composer on phones. */
@media(max-width:767px) {
  html:root body > .emoji-picker.emoji-picker-expanded:not(.hidden) {
    position:fixed!important;top:auto!important;left:50%!important;right:auto!important;
    bottom:var(--mobile-emoji-bottom,0px)!important;transform:translateX(-50%)!important;
    width:min(100vw,26rem)!important;height:var(--mobile-emoji-height,18rem)!important;
    min-height:0!important;max-height:var(--mobile-emoji-height,18rem)!important;
    border-radius:1rem 1rem 0 0!important;
  }
}

/* The share search is one rounded field, not a square input inside a shell. */
html:root body .post-share-search { overflow:hidden;border-radius:.85rem!important;background:var(--share-panel)!important; }
html:root body .post-share-search > input {
  appearance:none!important;border:0!important;border-radius:0!important;outline:0!important;
  background:transparent!important;box-shadow:none!important;
}
html:root body .post-share-chat-list > button:has([class*="post-share-saved-avatar"]) { position:sticky;top:0;z-index:2;background:var(--share-bg)!important; }
@media(max-width:767px) {
  html:root body .post-share-modal > section {
    height:auto!important;max-height:calc(100dvh - 1rem)!important;
    grid-template-rows:auto auto auto auto auto!important;
    align-self:center!important;border-radius:1rem!important;
  }
  html:root body .post-share-chat-list { max-height:min(35dvh,17rem)!important; }
}

/* The profile disclosure and space tabs retain a readable themed glyph. */
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary > span:last-child {
  width:2rem!important;height:2rem!important;flex-basis:2rem!important;
  border-radius:.62rem;background:color-mix(in srgb,var(--color-dynamic,#3775ca) 14%,transparent)!important;
}
html:root body .spaces-index-scope button > i { color:var(--color-dynamic,var(--vmesta-ui-primary,#3775ca))!important; }
html:root body .spaces-index-scope button > i > svg,
html:root body .spaces-index-scope button > i > svg path {
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}

/* A context menu is laid out at its final coordinates before its entrance. */
html:root body .messenger-message-menu-stack {
  animation:vmesta-context-menu-reveal 140ms ease-out both;
  transform-origin:top left;
}
@keyframes vmesta-context-menu-reveal {
  from { opacity:0;transform:scale(.97); }
  to { opacity:1;transform:scale(1); }
}
@media(prefers-reduced-motion:reduce) {
  html:root body .messenger-message-menu-stack { animation:none!important; }
}

/* v175: photo tiles remain clickable while multi-selection is active. */
html:root body.messages-route #messages-root .messenger-message-stream.is-selection-mode .messenger-photo-grid button[data-photo-index] {
  pointer-events:auto!important;
}

/* A voice bubble and its tail use one continuous edge and one painted fill. */
html:root body.messages-route #messages-root .messenger-message.has-tail .messenger-bubble.is-voice-note-only {
  border-bottom-right-radius:.42rem!important;
  background:var(--message-shape-fill)!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-incoming .messenger-bubble.is-voice-note-only {
  --message-shape-fill:var(--vmesta-unified-inner,var(--theme-surface-nested,var(--msg-panel)))!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-outgoing .messenger-bubble.is-voice-note-only {
  --message-shape-fill:var(--vmesta-unified-strong,var(--theme-surface-active,var(--msg-panel-strong)))!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-incoming .messenger-bubble.is-voice-note-only {
  border-bottom-right-radius:1.05rem!important;
  border-bottom-left-radius:.42rem!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-outgoing .messenger-bubble.is-voice-note-only > svg.messenger-bubble-tail {
  right:-.56rem!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-incoming .messenger-bubble.is-voice-note-only > svg.messenger-bubble-tail {
  left:-.56rem!important;
}

/* The disclosure uses a real SVG rather than an empty square/pseudo glyph. */
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary > .profile-layout-chevron::after { content:none!important; }
html:root body #profile-layout-theme-settings .profile-layout-accordion > summary > .profile-layout-chevron > svg {
  display:block!important;width:1.1rem!important;height:1.1rem!important;
  fill:none!important;stroke:currentColor!important;stroke-width:2.3!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  transition:transform .2s ease;
}
html:root body #profile-layout-theme-settings .profile-layout-accordion[open] > summary > .profile-layout-chevron > svg { transform:rotate(180deg); }

/* Video/album tabs are compact and left-aligned on profile and space pages. */
@media(max-width:760px) {
  html:root body .profile-video-tabs {
    display:inline-flex!important;width:max-content!important;max-width:100%!important;
    align-self:flex-start!important;justify-self:start!important;
  }
  html:root body .profile-video-tabs > button {
    flex:0 0 auto!important;width:auto!important;min-width:0!important;
    padding-inline:.7rem!important;
  }
}

/* Reserve a distinct grid row for the expanded ranking search. */
html:root body .spaces-top-panel { grid-template-rows:repeat(4,max-content) minmax(0,1fr) max-content; }
html:root body .spaces-top-panel:has(.spaces-top-search-panel) { grid-template-rows:repeat(5,max-content) minmax(0,1fr) max-content; }
html:root body .spaces-top-panel .spaces-top-search-panel { min-height:2.55rem;margin:0 0 .15rem; }

/* Opacity alone makes the message menu appear smoothly without moving its anchor. */
@keyframes vmesta-context-menu-reveal {
  from { opacity:0; }
  to { opacity:1; }
}

/* Recorder: give the circular camera and the prepared clip almost the whole
   phone width, anchored immediately above the composer controls. */
@media (max-width:767px) {
  html:root body #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage {
    width:min(calc(100vw - 2rem),var(--recording-stage-size,calc(var(--mobile-visible-height,100dvh) - 10rem)))!important;
    height:min(calc(100vw - 2rem),var(--recording-stage-size,calc(var(--mobile-visible-height,100dvh) - 10rem)))!important;
    bottom:calc(100% + .85rem)!important;
    left:50%!important;right:auto!important;
  }
  html:root body #messenger-recording-panel.is-draft.is-video > .messenger-recording-draft-preview {
    width:min(calc(100vw - 1.25rem),calc(100dvh - 11rem))!important;
    height:min(calc(100vw - 1.25rem),calc(100dvh - 11rem))!important;
    bottom:calc(100% + .85rem)!important;
  }
  html:root body.messages-route .messenger-conversation:has(.messenger-composer.is-recording #messenger-recording-panel.is-active.is-video:not(.is-draft)) #messenger-message-stream {
    padding-bottom:min(calc(100vw + 1rem),calc(100dvh - 9rem))!important;
  }
}

/* The upload now carries video dimensions. Use them on the first render,
   including the compact message player, before remote metadata arrives. */
html:root body .messenger-generic-media .vmesta-video-player.is-portrait:not(:fullscreen) {
  width:min(100%,28rem,40dvh)!important;
  aspect-ratio:var(--vmesta-video-ratio,9 / 16)!important;
}
html:root body .messenger-generic-media .vmesta-video-player.is-landscape:not(:fullscreen) {
  width:100%!important;
  aspect-ratio:var(--vmesta-video-ratio,16 / 9)!important;
}
html:root body .vmesta-video-player:fullscreen > video {
  inset:0;
  width:100%;height:100%;
  max-width:100vw;max-height:100dvh;
  object-fit:contain;
}

/* v181: the recording switch stays inside the phone viewport even when the
   camera circle occupies almost its full width. The circle remains an overlay,
   so entering record mode cannot grow the message list's scroll geometry. */
@media (max-width:767px) {
  html:root body #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage > .messenger-recording-camera-flip {
    left:.85rem!important;right:auto!important;bottom:.85rem!important;
    pointer-events:auto!important;
  }
  html:root body.messages-route .messenger-conversation:has(.messenger-composer.is-recording #messenger-recording-panel.is-active.is-video:not(.is-draft)) #messenger-message-stream {
    padding-bottom:0!important;
  }
  html:root body .messenger-generic-media:has(.vmesta-video-player) {
    width:100%!important;
  }
  html:root body .messenger-generic-media .vmesta-video-player.is-compact:not(:fullscreen) {
    width:100%!important;max-width:none!important;
  }
  html:root body .messenger-generic-media .vmesta-video-player.is-portrait:not(:fullscreen) {
    width:100%!important;max-height:min(72dvh,44rem)!important;
  }
}

/* На широком экране кнопка смены камеры находится вне контура видео,
   а мобильное ограничение viewport не распространяется на ПК. */
@media (min-width:768px) {
  html:root body #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage > .messenger-recording-camera-flip {
    left:-3.1rem!important;right:auto!important;bottom:1.15rem!important;
  }
}

/* Десять измерений прогресса в секунду не должны выглядеть ступеньками. */
html:root body .messenger-video-note.is-playing .messenger-video-note-ring-progress {
  transition:stroke-dasharray .11s linear;
}
html:root body .messenger-video-note.is-playing .messenger-video-note-ring-thumb {
  transition:transform .11s linear,r 180ms ease,opacity 120ms ease;
}
@media (prefers-reduced-motion:reduce) {
  html:root body .messenger-video-note.is-playing .messenger-video-note-ring-progress,
  html:root body .messenger-video-note.is-playing .messenger-video-note-ring-thumb {transition:none!important;}
}
/* A playing media controller must not animate from scratch after a chat shell
   refresh or a scroll-driven class update. */
html:root body .messenger-inline-media-bar:not(.hidden) {
  transition:none!important;
  animation:none!important;
}
/* Верхний плеер оставляет фиксированное место для даты без измерения всей
   ленты при каждом запуске голосового или видеокружка. */
html:root body .messenger-conversation.has-inline-media {
  --inline-media-clearance:2.75rem;
}

/* Profile loading is one continuous composition: cover, status, tabs and
   columns. Never expose the empty gradient or placeholder status underneath. */
html:root body .vmesta-cover-skeleton,
html:root body .vmesta-profile-tabs-skeleton {
  display:none;
  pointer-events:none;
}
:is(html.vmesta-initial-loading body,body.vmesta-route-loading) #cover-section {
  background-image:none!important;
  background-color:var(--adaptive-surface-muted,var(--standard-panel-soft,#e4edf7))!important;
}
:is(html.vmesta-initial-loading body,body.vmesta-route-loading) #cover-section > :not(#vmesta-cover-skeleton) {
  visibility:hidden!important;
}
:is(html.vmesta-initial-loading body,body.vmesta-route-loading) #cover-section .vmesta-cover-skeleton {
  position:absolute;z-index:40;inset:0;display:block;overflow:hidden;
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--adaptive-surface-muted,var(--standard-panel-soft,#e4edf7)) 90%,var(--color-dynamic,#5d8cda)),
    var(--adaptive-surface-muted,var(--standard-panel-soft,#e4edf7)));
}
.vmesta-cover-skeleton::after {
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 30%,rgb(255 255 255/.17) 48%,transparent 66%);
  transform:translateX(-100%);animation:vmesta-skeleton-sweep 1.8s ease-in-out infinite;
}
.vmesta-cover-skeleton-inner {
  position:absolute;right:1.5rem;bottom:1.1rem;left:1.5rem;
  display:flex;align-items:flex-end;gap:1.25rem;
  max-width:86rem;margin:auto;
}
.vmesta-cover-skeleton-avatar {
  flex:0 0 clamp(6rem,13vw,11rem);width:clamp(6rem,13vw,11rem);
  aspect-ratio:1;border-radius:1.3rem;
  background:var(--adaptive-surface,var(--standard-panel,#fff));
}
.vmesta-cover-skeleton-copy { display:grid;flex:1;gap:.7rem;min-width:0;padding-bottom:.3rem; }
.vmesta-cover-skeleton-copy > i,
.vmesta-profile-tabs-skeleton > i {
  display:block;border-radius:.7rem;
  background:color-mix(in srgb,var(--adaptive-surface,var(--standard-panel,#fff)) 72%,var(--color-dynamic,#5d8cda) 12%);
}
.vmesta-cover-skeleton-name { width:min(19rem,62%);height:2.35rem; }
.vmesta-cover-skeleton-presence { width:5.5rem;height:1.25rem; }
.vmesta-cover-skeleton-status { width:min(39rem,92%);height:2.5rem; }
.vmesta-cover-skeleton-location { width:9rem;height:1rem; }
:is(html.vmesta-initial-loading body,body.vmesta-route-loading) #profile-tabs-container > #profile-tabs { visibility:hidden!important; }
:is(html.vmesta-initial-loading body,body.vmesta-route-loading) #profile-tabs-container.is-route-pending {
  visibility:visible!important;
}
:is(html.vmesta-initial-loading body,body.vmesta-route-loading) #profile-tabs-container > .vmesta-profile-tabs-skeleton {
  position:absolute;z-index:2;top:0;right:0;left:0;
  display:flex;align-items:center;gap:.8rem;
  width:min(calc(100% - 2rem),86rem);height:3.5rem;margin:auto;
}
.vmesta-profile-tabs-skeleton > i { width:6rem;height:2rem; }
.vmesta-profile-tabs-skeleton > i:first-child { width:8rem; }
:is(html.vmesta-initial-loading body,body.vmesta-route-loading) .vmesta-skeleton-feedback { display:none!important; }
@media(max-width:767px) {
  .vmesta-cover-skeleton-inner { right:1rem;bottom:1rem;left:1rem;gap:.7rem; }
  .vmesta-cover-skeleton-avatar { flex-basis:5.4rem;width:5.4rem;border-radius:1rem; }
  .vmesta-cover-skeleton-name { width:min(12rem,90%);height:1.5rem; }
  .vmesta-cover-skeleton-presence { width:4.5rem;height:1rem; }
  .vmesta-cover-skeleton-status { width:100%;height:2rem; }
  .vmesta-cover-skeleton-location { width:6rem;height:.8rem; }
  .vmesta-profile-tabs-skeleton > i { width:4.6rem;height:1.8rem; }
}
@media(prefers-reduced-motion:reduce) {
  .vmesta-cover-skeleton::after,.vmesta-profile-skeleton::after { animation:none!important; }
}

/* An unloaded video note keeps a static play target; opening a conversation
   must not leave an endlessly pulsing indicator over the message. */
html:root body .messenger-video-note.is-media-loading:not(.is-uploading) .messenger-media-loading-shimmer {
  opacity:0!important;visibility:hidden!important;animation:none!important;
}
html:root body .messenger-video-note.is-media-loading:not(.is-uploading) .messenger-media-buffer-indicator svg {
  animation:none!important;
}
/* [Загрузка конкретной переписки] Часы занимают историю, не пересоздавая шапку и поле ввода. */
.messenger-message-stream .messenger-chat-load-state{
  min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.8rem;padding:2rem 1rem;text-align:center;color:var(--adaptive-text-muted,var(--theme-text-secondary,#7185a0));
  --vmesta-loader-accent:var(--color-dynamic,#3775ca);
  --vmesta-loader-soft:color-mix(in srgb,var(--color-dynamic,#3775ca) 12%,transparent);
}
.messenger-chat-load-state .vmesta-loading-orbit{width:3.3rem;height:3.3rem;margin:0}
.messenger-chat-load-state .vmesta-loading-satellite{transform-origin:.09rem 1.73rem}
.messenger-chat-load-state strong{font-size:.9rem;font-weight:750}
.messenger-chat-load-state button{padding:.6rem 1rem;border:0;border-radius:.75rem;background:var(--color-dynamic,#3775ca);color:#fff;font:inherit;cursor:pointer}

/* [Геометрия записи] Камера и органы управления — поверх неизменной строки.
   Сфокусированный textarea сохраняет прежний прямоугольник, а не 1×1 пиксель:
   Android не пытается подвинуть viewport к новой позиции курсора. */
html:root body #messages-root .messenger-composer.is-recording:not(.has-recording-draft) {
  box-sizing:border-box!important;
  height:var(--recording-composer-height,3.5rem)!important;
  min-height:var(--recording-composer-height,3.5rem)!important;
  max-height:var(--recording-composer-height,3.5rem)!important;
}
html:root body #messages-root .messenger-composer.is-recording:not(.has-recording-draft) > #messenger-recording-panel {
  position:absolute!important;inset:auto 0 0!important;
  height:var(--recording-composer-height,3.5rem)!important;
  min-height:var(--recording-composer-height,3.5rem)!important;
  max-height:var(--recording-composer-height,3.5rem)!important;
}
@media(max-width:767px) {
  html:root body.mobile-chat-open.messages-route .messenger-conversation:has(.messenger-composer.is-recording) {
    transition:none!important;
  }
}
html:root body #messages-root .messenger-composer.is-recording > #messenger-input {
  display:block!important;position:absolute!important;
  inset:var(--recording-input-top,.4rem) auto auto var(--recording-input-left,3rem)!important;
  width:var(--recording-input-width,calc(100% - 6rem))!important;
  height:var(--recording-input-height,2.35rem)!important;min-height:0!important;field-sizing:fixed!important;
  margin:0!important;padding:0!important;border:0!important;opacity:0!important;
  visibility:visible!important;pointer-events:none!important;overflow:hidden!important;
}

/* [Мобильная зона записи] Строка уже и выше системной зоны жестов.
   Отступ зарезервирован до нажатия, поэтому при старте она не подпрыгивает. */
@media(max-width:767px) {
  html:root body.mobile-chat-open.messages-route #messages-root .messenger-composer {
    margin:.3rem .65rem calc(1rem + env(safe-area-inset-bottom,0px))!important;
  }
  html:root body.mobile-chat-open.messages-route #messages-root .messenger-composer:not(.is-recording) > #messenger-input {
    min-height:2.1rem!important;
  }
  html:root body #messages-root #messenger-recording-panel.is-active:not(.is-draft) {
    padding:6px!important;
  }
  html:root body #messages-root #messenger-recording-panel.is-active:not(.is-draft)::before {
    height:50px!important;
  }
  html:root body #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-video {
    box-shadow:0 0 0 .25rem var(--msg-menu-soft)!important;
    filter:none!important;backdrop-filter:none!important;
  }
}
html:root body #messenger-recording-panel:not(.is-draft) .messenger-recording-wave i {
  height:26px!important;min-height:26px!important;max-height:26px!important;
  transition:none!important;animation:none!important;
}

/* v195: compact Telegram-style deletion, using the active site palette. */
@media(min-width:768px) {
  html:root body .messenger-list-back { display:none!important; }
}
html:root body #messenger-delete-confirm > section {
  width:min(23rem,calc(100vw - 2rem))!important;
  background:var(--msg-menu-bg,var(--adaptive-surface,#fff))!important;
  color:var(--msg-text,var(--adaptive-text-strong,#173b68))!important;
  border:1px solid var(--msg-border,transparent)!important;
  border-radius:1.1rem!important;padding:1.4rem!important;text-align:left!important;
}
html:root body #messenger-delete-confirm h2 { margin:0!important;font-size:1.1rem!important;line-height:1.35;font-weight:750;text-align:left!important; }
html:root body #messenger-delete-confirm p { margin:.7rem 0 1rem!important;font-size:.87rem!important;line-height:1.5;color:var(--msg-muted,var(--adaptive-text-muted,#6a7f9e));text-align:left!important;max-width:none!important; }
html:root body #messenger-delete-confirm .messenger-delete-everyone {
  display:flex;align-items:center;justify-content:flex-start;width:100%;gap:.7rem;min-height:2.75rem;margin:.5rem 0;
  font-size:.88rem;cursor:pointer;user-select:none;
}
html:root body #messenger-delete-confirm .messenger-delete-everyone input {
  appearance:auto!important;position:static!important;opacity:1!important;
  width:1.15rem!important;height:1.15rem!important;flex:0 0 1.15rem;
  accent-color:var(--msg-accent,#3977d2);cursor:pointer;
}
html:root body #messenger-delete-confirm .messenger-delete-actions {
  display:flex!important;justify-content:flex-end!important;gap:.5rem!important;margin:1rem -.35rem -.35rem!important;
}
html:root body #messenger-delete-confirm .messenger-delete-actions button {
  flex:0 0 auto!important;min-height:2.75rem;padding:.6rem .9rem!important;
  border:0!important;border-radius:.6rem!important;background:transparent!important;
  color:var(--msg-accent,#3977d2)!important;font-size:.86rem!important;font-weight:750!important;
}
html:root body #messenger-delete-confirm .messenger-delete-actions button.is-delete { color:#e24959!important; }
html:root body #messenger-delete-confirm .messenger-delete-actions button:is(:hover,:focus-visible) { background:var(--msg-accent-soft,#e7effb)!important; }
html:root body #messenger-delete-confirm .messenger-delete-actions button.is-delete:is(:hover,:focus-visible) { background:rgb(226 73 89/.1)!important; }
html:root body .messenger-delete-options { display:grid;gap:.45rem;margin-top:1rem; }
html:root body .messenger-delete-options > button {
  display:flex;align-items:center;gap:.7rem;width:100%;padding:.85rem 1rem;
  border:1px solid transparent;border-radius:.85rem;text-align:left;
  color:var(--msg-text);background:var(--msg-menu-soft);font:inherit;cursor:pointer;
}
html:root body .messenger-delete-options > button:is(:hover,:focus-visible,.is-preferred) {
  border-color:var(--msg-accent);background:var(--msg-accent-soft);
}
html:root body .messenger-delete-options > button:disabled { opacity:.4;cursor:not-allowed; }
html:root body .messenger-delete-options svg { width:1.1rem;height:1.1rem;color:var(--msg-accent); }
html:root body .messenger-delete-options small { display:block;font-size:.7rem;opacity:.7;margin-top:.15rem; }
html:root body .messenger-room-tags-dialog {
  position:fixed;inset:0;z-index:12500;background:rgb(7 16 34/.48);
  display:grid;place-items:center;padding:1rem;backdrop-filter:blur(4px);
}
html:root body .messenger-room-tags-dialog.hidden { display:none!important; }
html:root body .messenger-room-tags-dialog > section {
  width:min(36rem,100%);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;
  background:var(--msg-menu-bg,var(--adaptive-surface,#fff));color:var(--msg-text);
  border-radius:1.2rem;padding:1rem;box-shadow:0 1rem 3rem rgb(0 0 0/.2);
}
html:root body .messenger-room-tags-dialog header { display:flex;align-items:center;justify-content:space-between; }
html:root body .messenger-room-tags-dialog h2 { font-size:1.2rem;font-weight:800; }
html:root body .messenger-room-tags-dialog p { font-size:.8rem;margin:.65rem 0;opacity:.75; }
html:root body .messenger-room-tags-dialog .messenger-room-tags-list { overflow:auto;min-height:0;overscroll-behavior:contain; }
html:root body .messenger-room-tags-dialog footer { margin-top:.8rem;display:flex;justify-content:flex-end; }
html:root body .messenger-room-member-tag { font-size:.65rem;font-style:normal;padding:.1rem .4rem;border-radius:.4rem;background:var(--msg-accent-soft);color:var(--msg-accent);max-width:12rem;overflow:hidden;text-overflow:ellipsis; }
html:root body .messenger-room-author-line { display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;min-width:0;max-width:100%; }
html:root body .messenger-room-author-line .messenger-room-member-tag {
  display:inline-block;max-width:min(12rem,100%);white-space:nowrap;line-height:1.35;
  font-size:.61rem;font-weight:650;vertical-align:middle;
}
html:root body .messenger-room-tag-error { grid-column:2/-1;color:#e24959!important;font-size:.7rem!important;white-space:normal!important; }
html:root body .messenger-room-tag-error:empty { display:none; }
html:root body .messenger-room-tags-permission { display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.85rem .8rem;border-bottom:1px solid var(--msg-border,#e1e8f3); }
html:root body .messenger-room-tags-permission > span { display:grid;gap:.3rem; }
html:root body .messenger-room-tags-permission b { font-size:.8rem; }
html:root body .messenger-room-tags-permission small { font-size:.7rem;color:var(--msg-muted,#6a7f9e); }
html:root body .messenger-room-tags-permission input { appearance:auto!important;position:static!important;width:1.15rem!important;height:1.15rem!important;opacity:1!important;accent-color:var(--msg-accent,#3977d2); }
html:root body .messenger-room-tags-permission > i { display:none; }
html:root body .messenger-system-message .messenger-system-member-link {
  display:inline;padding:0;border:0;border-radius:.15rem;background:transparent!important;
  color:var(--msg-accent,#3977d2)!important;font:inherit;font-weight:800;cursor:pointer;
  text-decoration:underline;text-underline-offset:.15rem;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);
}
html:root body .messenger-system-message .messenger-system-member-link:is(:hover,:focus-visible) { text-decoration-color:currentColor;outline:2px solid var(--msg-accent,#3977d2);outline-offset:2px; }
html:root body #tab-my #main-profile-status-wrap {
  display:block;min-width:0;width:100%;box-sizing:border-box;margin:0 0 1rem;
  padding:.9rem 1rem;border-radius:1.1rem;background:var(--theme-surface-panel,var(--standard-panel,#fff));
  color:var(--theme-text-primary,#173b68);border:1px solid var(--theme-border,transparent);
  backdrop-filter:none;box-shadow:none;
}
html:root body #tab-my .profile-cover-status-content { display:flex;align-items:center;gap:.7rem;min-width:0; }
html:root body #tab-my .profile-cover-status-icon { width:1.1rem;height:1.1rem;flex:none;color:var(--color-dynamic,#3775ca); }
html:root body #tab-my .status-scroll-container { min-width:0;flex:1;overflow:hidden; }
html:root body #tab-my #main-profile-status { margin:0;font-size:.88rem;line-height:1.5;color:inherit;white-space:normal;transform:none!important;animation:none!important; }
.vmesta-skeleton-status { padding:.9rem 1rem;border-radius:1.1rem;background:var(--skeleton-base);margin-bottom:1rem; }
.vmesta-skeleton-status .vmesta-skeleton-line { height:1.3rem;margin:0;width:65%; }
html.vmesta-initial-loading body #profile-layout-grid > :not(#vmesta-profile-skeleton),
html.vmesta-initial-loading body #profile-layout-grid > :not(#vmesta-profile-skeleton) *,
html:root body.vmesta-route-loading #profile-layout-grid > :not(#vmesta-profile-skeleton),
html:root body.vmesta-route-loading #profile-layout-grid > :not(#vmesta-profile-skeleton) * { visibility:hidden!important; }
html:root body .vmesta-profile-tabs-skeleton { box-sizing:border-box;padding-left:14.75rem; }
.vmesta-skeleton-friends { display:flex;gap:.3rem;background:var(--skeleton-base);border-radius:1rem;margin-top:.5rem;padding:.3rem; }
.vmesta-skeleton-friends i { display:block;flex:1;aspect-ratio:1;border-radius:50%;background:var(--skeleton-soft); }
html:root body .vmesta-profile-skeleton { overflow:visible; }
@media(min-width:768px) { html:root body .vmesta-skeleton-left { margin-top:-13rem; } }
html:root body .vmesta-cover-skeleton-inner { left:max(16rem,calc((100vw - 90rem)/2 + 16rem)); }
@media(max-width:767px) {
  html:root body .vmesta-profile-tabs-skeleton { padding-left:0; }
  html:root body .vmesta-cover-skeleton-inner { left:1rem; }
  html:root body .vmesta-cover-skeleton-inner::before { content:"";display:block;flex:0 0 5.4rem;width:5.4rem;aspect-ratio:1;border-radius:1rem;background:var(--adaptive-surface,var(--standard-panel,#fff)); }
}

/* Video dimensions come from metadata. Parent bubble rules must not shrink
   the actual video to a tiny relative-positioned image above the controls. */
html:root body .vmesta-video-player:not(:fullscreen) {
  min-width:0!important;min-height:0!important;height:auto!important;
  aspect-ratio:var(--vmesta-video-ratio,16 / 9)!important;
}
html:root body .vmesta-video-player.is-portrait:not(:fullscreen),
html:root body .messenger-generic-media .vmesta-video-player.is-portrait:not(:fullscreen) {
  width:min(100%,25rem,calc(64dvh * var(--vmesta-video-aspect,.5625)))!important;
  max-width:100%!important;max-height:none!important;margin-inline:auto!important;
}
html:root body .vmesta-video-player.is-landscape:not(:fullscreen),
html:root body .messenger-generic-media .vmesta-video-player.is-landscape:not(:fullscreen) {
  width:min(100%,48rem,calc(68dvh * var(--vmesta-video-aspect,1.7778)))!important;max-height:none!important;
}
html:root body .vmesta-video-player > video,
html:root body .messenger-generic-media .vmesta-video-player > video {
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;min-height:0!important;
  max-width:none!important;max-height:none!important;object-fit:contain!important;transform:none!important;
}
html:root body .vmesta-video-player:fullscreen {
  width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
}
html:root body .galaxy-video-player.is-portrait:not(:fullscreen) {
  width:min(88vw,calc(76dvh * var(--galaxy-video-aspect,.5625)))!important;
  height:auto!important;min-height:0!important;aspect-ratio:var(--galaxy-video-ratio,9 / 16)!important;
}
html:root body .galaxy-video-player:fullscreen {
  width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;
}

/* v197: photo-delete styling, three exclusive choices and a clear selection. */
html:root body #messenger-delete-confirm > section {
  width:min(29rem,calc(100vw - 2rem))!important;max-height:calc(100dvh - 2rem)!important;
  overflow:auto!important;border:0!important;border-radius:2.3rem!important;
  padding:1.7rem 1.65rem!important;text-align:center!important;
}
html:root body #messenger-delete-confirm .messenger-delete-mark {
  display:grid;place-items:center;width:6.2rem;height:6.2rem;margin:0 auto 1rem;
  border-radius:50%;background:#fff0f2;color:#ef334b;box-shadow:0 0 0 .9rem rgb(255 45 69/.025);
}
html:root body #messenger-delete-confirm .messenger-delete-mark svg { width:2.3rem!important;height:2.3rem!important; }
html:root body #messenger-delete-confirm .messenger-delete-mark .messenger-icon { width:2.3rem;height:2.3rem;color:inherit; }
html:root body #messenger-delete-confirm h2 { text-align:center!important;font-size:1.35rem!important;font-weight:900;text-transform:uppercase; }
html:root body #messenger-delete-confirm p { text-align:center!important;margin:.9rem auto 1.15rem!important;max-width:23rem!important; }
html:root body #messenger-delete-confirm .messenger-delete-choices {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;
}
html:root body #messenger-delete-confirm .messenger-delete-choices label {
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:.25rem;
  min-width:0;min-height:3.1rem;padding:.65rem .5rem;border:1px solid transparent;
  border-radius:.85rem;background:var(--msg-menu-soft,var(--adaptive-surface-muted,#edf2fa));
  color:var(--msg-text,var(--adaptive-text-strong,#24528e));font-size:.7rem;line-height:1.3;font-weight:750;
  text-align:left;cursor:pointer;
}
html:root body #messenger-delete-confirm .messenger-delete-choices input {
  position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none;
}
html:root body #messenger-delete-confirm .messenger-delete-choices i {
  display:grid;place-items:center;flex:0 0 .85rem;width:.85rem;height:.85rem;border:1px solid currentColor;border-radius:50%;opacity:.5;
}
html:root body #messenger-delete-confirm .messenger-delete-choices .is-selected {
  border-color:var(--msg-accent,var(--color-dynamic,#3775ca));background:var(--msg-accent-soft,#dce9fa);
}
html:root body #messenger-delete-confirm .messenger-delete-choices .is-selected i { opacity:1!important;background:var(--msg-accent,var(--color-dynamic,#3775ca))!important;border-color:transparent!important;color:#fff!important;font:700 .65rem/1 sans-serif; }
html:root body #messenger-delete-confirm .messenger-delete-choices label:has(input:focus-visible) { outline:2px solid var(--msg-accent,#3775ca);outline-offset:2px; }
html:root body #messenger-delete-confirm .messenger-delete-choices .is-disabled { opacity:.4;cursor:not-allowed; }
html:root body #messenger-delete-confirm .messenger-delete-selection-note { display:block;min-height:2.4rem;margin:.7rem 0;color:var(--msg-muted,var(--adaptive-text-muted,#6a7f9e));font-size:.7rem;line-height:1.4; }
html:root body #messenger-delete-confirm .messenger-delete-actions { justify-content:stretch!important;gap:.6rem!important;margin:.9rem 0 0!important; }
html:root body #messenger-delete-confirm .messenger-delete-actions button { flex:1 1 0!important;min-height:3.2rem;border-radius:1.5rem!important;text-transform:uppercase;font-size:.75rem!important;letter-spacing:.04em; }
html:root body #messenger-delete-confirm .messenger-delete-actions button.is-delete,
html:root body #messenger-delete-confirm .messenger-delete-actions button.is-delete:is(:hover,:focus-visible) { background:#ff293d!important;color:#fff!important; }
html:root body #messenger-delete-confirm .messenger-delete-actions button:disabled { opacity:.4;cursor:wait; }

/* Independent top player: no scroll-driven appearance animation or backdrop
   rasterization over continuously moving video frames. */
html:root body .messenger-inline-media-bar,
html:root body .messenger-inline-media-bar.hidden {
  transition:none!important;animation:none!important;transform:translateX(-50%)!important;backdrop-filter:none!important;
}
html:root body .messenger-inline-media-bar { background:var(--msg-menu-bg,var(--adaptive-surface,#fff))!important; }
html:root body .messenger-inline-media-bar.hidden { display:none!important; }
html:root body.messenger-recording-active #cover-section * { animation-play-state:paused!important; }

/* Names remain on the left, member badges align to the right of the header. */
html:root body .messenger-room-author { width:100%;text-align:left; }
html:root body .messenger-room-author > span { width:100%;min-width:0; }
html:root body .messenger-room-author-line { width:100%;flex-wrap:nowrap;justify-content:space-between; }
html:root body .messenger-room-author-line > strong { min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--msg-accent,var(--color-dynamic,#3775ca))!important; }
html:root body .messenger-room-author-line .messenger-room-member-tag { flex:0 0 auto;margin-left:auto;max-width:45%; }

/* Choosing a person and editing their tag are separate compact steps. */
html:root body .messenger-room-tag-person { display:flex;align-items:center;gap:.65rem;padding:.8rem .55rem;border-bottom:1px solid var(--msg-border,#e1e8f3); }
html:root body .messenger-room-tag-person > .messenger-room-tag-copy { flex:1;min-width:0;display:grid;gap:.2rem; }
html:root body .messenger-room-tag-person b { font-size:.85rem; }
html:root body .messenger-room-tag-person small { font-size:.73rem;color:var(--msg-muted,var(--adaptive-text-muted,#6a7f9e)); }
html:root body .messenger-room-tag-person button { flex:0 0 auto;max-width:8rem;padding:.55rem .65rem!important;border-radius:.7rem!important;font-size:.7rem!important; }
html:root body .messenger-room-tag-editor { z-index:12520; }
html:root body .messenger-room-tag-editor > section { width:min(25rem,100%);overflow:auto; }
html:root body .messenger-room-tag-editor .messenger-room-tag-row { display:flex!important;flex-direction:column;align-items:stretch;gap:.6rem;padding:0!important; }
html:root body .messenger-room-tag-editor .messenger-room-tag-row > input { width:100%!important;min-width:0!important;min-height:2.8rem;border-radius:.75rem!important;padding:.65rem .8rem!important;font-size:.9rem!important; }
html:root body .messenger-room-tag-editor .messenger-room-tag-row > label { font-size:.75rem;color:var(--msg-muted,var(--adaptive-text-muted,#6a7f9e)); }
html:root body .messenger-room-tag-editor .messenger-room-tag-row > small { font-size:.72rem;line-height:1.4; }
html:root body .messenger-room-tag-editor .messenger-room-tag-preset { display:flex!important;align-items:center;gap:.75rem; }
html:root body .messenger-room-tag-editor footer { gap:.6rem; }
html:root body .messenger-room-tag-editor footer button { flex:1;min-height:2.65rem;border-radius:.8rem!important; }
html:root body .messenger-room-tag-editor [data-tag-save] { color:#fff!important;background:var(--msg-accent,var(--color-dynamic,#3775ca))!important; }
html:root body .messenger-room-tag-editor [data-tag-save]:disabled { opacity:.45; }

/* v198: portalled tag dialogs need their own bounded avatar and form styles. */
html:root body #vm-select-portal.is-room-tag-control { z-index:12540!important;backdrop-filter:none!important; }
html:root body .messenger-room-tags > .messenger-room-members-trigger { text-align:left!important;justify-content:flex-start!important; }
html:root body .messenger-room-tags > .messenger-room-members-trigger > span { flex:1;min-width:0;text-align:left!important; }
html:root body .messenger-room-tags > .messenger-room-members-trigger > svg:last-child { margin-left:auto; }
html:root body .messenger-room-tags-dialog { grid-template-columns:minmax(0,1fr);box-sizing:border-box;overflow:hidden;backdrop-filter:none!important; }
html:root body .messenger-room-tags-dialog > section { box-sizing:border-box;min-width:0;max-width:100%;justify-self:center;overflow:hidden;text-align:left; }
html:root body .messenger-room-tags-dialog header { flex:0 0 auto;min-width:0;gap:.7rem; }
html:root body .messenger-room-tags-dialog header > :first-child { min-width:0; }
html:root body .messenger-room-tags-dialog header button { flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:.8rem;background:var(--msg-accent-soft,#e5edfc); }
html:root body .messenger-room-tags-dialog header button svg { width:1.1rem;height:1.1rem; }
html:root body .messenger-room-tags-dialog :is(p,small) { overflow-wrap:anywhere; }
html:root body .messenger-room-tags-dialog .messenger-room-tags-list { flex:1 1 auto;overflow-x:hidden;scrollbar-gutter:stable; }
html:root body .messenger-room-tag-person > .messenger-avatar { display:grid;place-items:center;flex:0 0 2.25rem!important;width:2.25rem!important;height:2.25rem!important;min-width:2.25rem;max-width:2.25rem;border-radius:.75rem; }
html:root body .messenger-room-tag-person > .messenger-avatar > img { display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit; }
html:root body .messenger-room-tag-copy :is(b,small) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
html:root body .messenger-room-tags-dialog button { font-family:inherit;font-weight:750;line-height:1.35;color:var(--msg-accent,#3775ca);cursor:pointer; }
html:root body .messenger-room-tag-person button { font-size:.72rem!important;line-height:1.35!important;min-height:2.2rem;text-align:center;background:var(--msg-accent-soft,#e5edfc);max-width:7.5rem; }
html:root body .messenger-room-tags-dialog > section > footer { flex:0 0 auto; }
html:root body .messenger-room-tags-dialog > section > footer button { padding:.65rem 1.1rem;border-radius:.75rem;font-size:.8rem;background:var(--msg-accent-soft,#e5edfc); }
html:root body .messenger-room-tag-editor > section { width:min(25rem,100%)!important;max-height:calc(100dvh - 2rem);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable; }
html:root body .messenger-room-tag-editor .messenger-room-tag-row { width:100%;min-width:0;box-sizing:border-box;background:transparent; }
html:root body .messenger-room-tag-editor .messenger-room-tag-row > * { min-width:0;max-width:100%;box-sizing:border-box; }
html:root body .messenger-room-tag-editor .messenger-room-tag-preset { flex-wrap:wrap; }
html:root body .messenger-room-tag-editor .messenger-room-tag-preset > span { flex:0 0 auto; }
html:root body .messenger-room-tag-editor .messenger-room-tag-preset .vm-select-shell { flex:1 1 10rem;min-width:0;max-width:100%; }
html:root body .messenger-room-tag-editor :is(.vm-select-trigger,select) { min-width:0!important;max-width:100%!important;box-sizing:border-box; }
html:root body .messenger-room-tag-editor footer { width:100%;min-width:0; }
html:root body .messenger-room-tag-editor footer button { min-width:0;font-size:.85rem; }
@media(max-width:520px) {
  html:root body .messenger-room-tags-dialog { padding:.65rem; }
  html:root body .messenger-room-tags-dialog > section { padding:.9rem;max-height:calc(100dvh - 1.3rem); }
  html:root body .messenger-room-tag-person { gap:.5rem;padding:.7rem .15rem; }
  html:root body .messenger-room-tag-person button { max-width:6.2rem;padding:.45rem .5rem!important; }
  html:root body .messenger-room-tag-copy b { font-size:.78rem; }
}

/* v199: tag action has THREE grid children, unlike the member-count row. */
html:root body .messenger-room-settings-modal .messenger-room-tags > .messenger-room-members-trigger {
  display:grid!important;grid-template-columns:1.2rem minmax(0,1fr) 1rem!important;
  gap:.65rem!important;align-items:center!important;text-align:left!important;
}
html:root body .messenger-room-tags > .messenger-room-members-trigger > span {
  justify-self:stretch!important;align-items:start!important;text-align:left!important;
}
html:root body .messenger-room-tags-dialog {
  --msg-accent:var(--theme-accent,var(--color-dynamic,#3775ca));
  --msg-accent-soft:var(--theme-surface-control,#e5edfc);
  --msg-text:var(--theme-text-primary,#24528e);
  --msg-muted:var(--theme-text-muted,#6a7f9e);
  --msg-border:var(--theme-border,#e1e8f3);
  background:rgb(15 23 42/.48)!important;color:var(--msg-text)!important;
}
html:root body .messenger-room-tags-dialog > section {
  background:var(--theme-surface-panel,#fff)!important;color:var(--msg-text)!important;
  border:0!important;border-radius:1.2rem!important;box-shadow:0 18px 60px rgb(15 23 42/.2)!important;
}
html:root body .messenger-room-tags-dialog :is(h2,b) {color:var(--msg-text)!important;text-align:left!important;}
html:root body .messenger-room-tags-dialog :is(header small,p,small,label) {color:var(--msg-muted)!important;text-align:left!important;}
html:root body .messenger-room-tag-editor :is(input,.vm-select-trigger,select) {
  background:var(--theme-surface-control,#edf2fa)!important;color:var(--msg-text)!important;
  border:1px solid var(--msg-border)!important;
}
html:root body .messenger-room-tags-dialog [data-tag-save] {
  background:var(--msg-accent)!important;color:#fff!important;
}
html:root body #messages-root .messenger-message :is(.messenger-room-author,.messenger-room-author-line) > strong,
html:root body #messages-root .messenger-message .messenger-room-author-line > strong {
  color:var(--theme-accent,var(--color-dynamic,#3775ca))!important;
}

/* Unified destructive confirmations: retain all existing action/permission logic. */
html:root body :is(#messenger-delete-confirm,#messenger-chat-manage-confirm,#messenger-room-delete-confirm,
  #delete-modal,#delete-confirm-modal,#delete-Comment-modal,#album-delete-modal,#space-photo-delete-modal) {
  background:rgb(15 23 42/.48)!important;backdrop-filter:none!important;
}
html:root body :is(#messenger-delete-confirm,#messenger-chat-manage-confirm,#messenger-room-delete-confirm,
  #delete-modal,#delete-confirm-modal,#delete-Comment-modal,#album-delete-modal,#space-photo-delete-modal) > :is(section,div),
html:root body .media-delete-confirm {
  border-radius:1.25rem!important;border:0!important;
  background:var(--theme-surface-panel,#fff)!important;color:var(--theme-text-primary,#24528e)!important;
  max-height:calc(100dvh - 2rem)!important;overflow-y:auto!important;
  box-shadow:0 18px 60px rgb(15 23 42/.2)!important;
}
html:root body :is(#messenger-delete-confirm,#messenger-chat-manage-confirm,#messenger-room-delete-confirm,
  #delete-modal,#delete-confirm-modal,#delete-Comment-modal,#album-delete-modal,#space-photo-delete-modal,.media-delete-confirm) button {
  border-radius:.7rem!important;min-height:2.75rem!important;box-shadow:none!important;
}
html:root body :is(#delete-modal,#delete-confirm-modal,#delete-Comment-modal,#album-delete-modal,#space-photo-delete-modal,.media-delete-confirm) :is(h2,h3) {
  color:var(--theme-text-primary,#24528e)!important;font-size:1.25rem!important;text-align:center!important;
}
html:root body :is(#delete-modal,#delete-confirm-modal,#delete-Comment-modal,#album-delete-modal,#space-photo-delete-modal,.media-delete-confirm) p {
  color:var(--theme-text-muted,#6a7f9e)!important;font-size:.85rem!important;line-height:1.6!important;
}
html:root body :is(#delete-modal,#delete-confirm-modal,#delete-Comment-modal,#space-photo-delete-modal) .animate-ping {display:none!important;}
html:root body :is(#confirm-delete-btn,#confirm-delete-photo-btn,#global-delete-btn,#album-delete-submit),
html:root body .media-delete-confirm button.is-danger {background:#ff293d!important;color:#fff!important;}
html:root body #album-delete-modal #album-delete-panel {
  border-radius:1.25rem!important;background:var(--theme-surface-panel,#fff)!important;
}
html:root body #messenger-delete-confirm .messenger-delete-choices {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
html:root body #messenger-delete-confirm :is(.messenger-delete-actions,.messenger-delete-choices) :is(button,label),
html:root body :is(#delete-modal,#delete-confirm-modal,#delete-Comment-modal,#album-delete-modal,#space-photo-delete-modal) > div button {
  border-radius:.7rem!important;
}
html:root body #messenger-delete-confirm .messenger-delete-mark {width:4.8rem;height:4.8rem;}

/* Search is a non-shrinking row; only the ranking entries may scroll. */
html:root body .spaces-top-panel,
html:root body .spaces-top-panel:has(.spaces-top-search-panel) {
  display:flex!important;flex-direction:column!important;gap:.7rem!important;
}
html:root body .spaces-top-panel > :not(.spaces-top-list) {flex:0 0 auto!important;min-width:0;}
html:root body .spaces-top-panel .spaces-top-list {flex:1 1 auto;min-height:4.8rem;overflow-y:auto;}
html:root body .spaces-top-panel .spaces-top-search-panel {overflow:visible!important;animation:none!important;}
html:root body .spaces-top-search {display:flex!important;align-items:center!important;gap:.55rem!important;}
html:root body .spaces-top-search > svg {flex:0 0 1rem!important;width:1rem!important;height:1rem!important;}
html:root body .spaces-top-search > input {flex:1 1 auto!important;width:0!important;min-width:0!important;line-height:1.4!important;}

/* The expanded mobile ranking search is a separate control row. The former
   compact spacing made the section title and placeholder read as one line. */
@media (max-width:767px) {
  html:root body .spaces-top-panel {gap:.8rem!important;}
  html:root body .spaces-top-search-toggle.is-active {
    margin-bottom:0!important;border-radius:.85rem!important;
  }
  html:root body .spaces-top-search-panel {
    width:100%!important;min-height:0!important;margin:0!important;
    padding:.15rem 0 .1rem!important;
  }
  html:root body .spaces-top-search {
    min-height:3.15rem!important;border:1px solid color-mix(in srgb,var(--color-dynamic,#2563eb),transparent 66%)!important;
    border-radius:.9rem!important;padding:0 .9rem!important;
    background:var(--adaptive-surface-2,#f8fafc)!important;
  }
  html:root body .spaces-top-search > input {
    min-height:3rem!important;font-size:.82rem!important;font-weight:700!important;
  }
  html:root body .spaces-top-limits {margin-top:.05rem!important;}
}

/* Sidebar values are totals, not unread badges. Unread state is represented
   only by the pulsing scope dot and the main Signals badge. */
html:root body .signal-sidebar-subnav b {
  width:auto!important;min-width:2.75rem!important;padding:0 .42rem!important;
  white-space:nowrap!important;text-transform:none!important;
}
html:root body .signal-sidebar-subnav button:not(.has-attention) b {
  background:var(--adaptive-surface-2,rgb(241 245 249))!important;
  color:var(--adaptive-text-muted,rgb(100 116 139))!important;
}
html:root body .signals-scope-tabs > button > b {white-space:nowrap!important;}

/* v227: signal dots mean a new event only. A non-empty archive must not keep
   a permanent coloured lamp, and a zero main badge must not survive utility
   class/style collisions. */
html:root body #sidebar-signals-badge.hidden,
html:root body #sidebar-signals-badge:not(.is-unread),
html:root body #sidebar-signals-badge[data-count="0"] {
  display:none!important;
  visibility:hidden!important;
}
html:root body .signal-sidebar-subnav button:not(.has-attention) .signal-scope-indicator,
html:root body .signal-sidebar-subnav button.has-items:not(.has-attention) .signal-scope-indicator {
  opacity:0!important;
  transform:scale(.72)!important;
}
html:root body .signal-sidebar-subnav button.has-attention .signal-scope-indicator {
  opacity:1!important;
  transform:scale(1)!important;
}

/* v227: call events use the same deterministic left/right geometry as text
   bubbles. Replacing the fragile SVG ornament with a small CSS tail prevents
   stretching and keeps an outgoing call on the sender side. */
html:root body.messages-route #messages-root .messenger-call-history.is-outgoing {
  justify-content:flex-end!important;
}
html:root body.messages-route #messages-root .messenger-call-history.is-incoming {
  justify-content:flex-start!important;
}
html:root body.messages-route #messages-root .messenger-call-history-card {
  position:relative!important;
}
html:root body.messages-route #messages-root .messenger-call-history-card > svg.messenger-bubble-tail {
  display:none!important;
}
html:root body.messages-route #messages-root .messenger-call-history.has-tail .messenger-call-history-card::after {
  content:""!important;
  position:absolute!important;
  bottom:0!important;
  width:.7rem!important;
  height:.72rem!important;
  background:var(--message-shape-fill)!important;
  pointer-events:none!important;
}
html:root body.messages-route #messages-root .messenger-call-history.has-tail.is-outgoing .messenger-call-history-card::after {
  right:-.32rem!important;
  clip-path:polygon(0 0,0 100%,100% 100%)!important;
}
html:root body.messages-route #messages-root .messenger-call-history.has-tail.is-incoming .messenger-call-history-card::after {
  left:-.32rem!important;
  clip-path:polygon(100% 0,0 100%,100% 100%)!important;
}
html:root body .notif-item.is-push-target {
  animation:vmesta-push-target 1.1s ease-out 2!important;
  box-shadow:0 0 0 .22rem color-mix(in srgb,var(--color-dynamic,#2563eb) 28%,transparent)!important;
}
@keyframes vmesta-push-target {50%{transform:translateY(-2px);filter:brightness(1.08)}}
.vmesta-rating-help-overlay {position:fixed;inset:0;z-index:23000;display:grid;place-items:center;padding:1rem;background:rgb(15 23 42/.48);}
html:root body .vmesta-rating-help-overlay > .spaces-top-help-popover {
  position:relative!important;inset:auto!important;display:flex!important;flex-direction:column!important;gap:.75rem!important;
  width:min(34rem,100%)!important;max-height:calc(100dvh - 2rem)!important;box-sizing:border-box!important;
  padding:1rem!important;overflow:auto!important;border:0!important;border-radius:1.2rem!important;
  background:var(--theme-surface-panel,#fff)!important;color:var(--theme-text-primary,#24528e)!important;
}
html:root body .vmesta-rating-help-overlay header {
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:.6rem!important;
  position:sticky;top:-1rem;flex:0 0 auto!important;background:var(--theme-surface-panel,#fff)!important;
  padding:.4rem 0!important;z-index:1;font-weight:850;
}
html:root body .vmesta-rating-help-overlay header > button {flex:0 0 2.2rem!important;width:2.2rem!important;height:2.2rem!important;border-radius:.7rem;background:var(--theme-surface-control,#edf2fa);color:var(--theme-accent,#3775ca);}
html:root body .vmesta-rating-help-overlay .spaces-top-help-tiers {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;}
html:root body .vmesta-rating-help-overlay .spaces-top-help-nominations {display:grid;gap:.5rem;}
html:root body .vmesta-rating-help-overlay .spaces-top-help-nominations article {display:flex;gap:.65rem;align-items:flex-start;padding:.7rem;border-radius:.7rem;background:var(--theme-surface-nested,#edf2fa);}
html:root body .vmesta-rating-help-overlay article > svg {width:1.1rem;height:1.1rem;flex:0 0 1.1rem;}
html:root body .vmesta-rating-help-overlay article > span {display:grid;gap:.2rem;min-width:0;}
html:root body .vmesta-rating-help-overlay :is(p,small) {color:var(--theme-text-muted,#6a7f9e);font-size:.75rem;line-height:1.5;}
html:root body .vmesta-rating-help-overlay strong {font-size:.8rem;}

/* Scope moving media style invalidation without changing message sizing. */
html:root body #messages-root .messenger-message {contain:style;}
@media(max-width:767px) {
  html:root body #messages-root :is(.messenger-bubble,.messenger-video-note,.messenger-inline-media-bar) {backdrop-filter:none!important;}
  html:root body #messages-root .messenger-video-note {box-shadow:none!important;}
}

/* v201: microphone source lives with notification/sound preferences. */
html:root body #cover-notifications-pane .notification-microphone-settings {
  grid-column:1/-1!important;
}
html:root body #cover-notifications-pane .notification-microphone-choice {
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  min-height:3.8rem;padding:.68rem .76rem;border-top:1px solid var(--vmesta-ui-line,var(--standard-line));
}
html:root body #cover-notifications-pane .notification-microphone-choice > label {
  display:grid;min-width:0;gap:.12rem;
}
html:root body #cover-notifications-pane .notification-microphone-choice strong {
  color:var(--vmesta-ui-primary,var(--standard-green));font-size:.67rem;font-weight:900;
}
html:root body #cover-notifications-pane .notification-microphone-choice small,
html:root body #cover-notifications-pane .notification-microphone-note,
html:root body #cover-notifications-pane .notification-microphone-settings > p {
  color:var(--vmesta-ui-muted,var(--standard-text-passive));font-size:.56rem;font-weight:650;line-height:1.45;
}
html:root body #cover-notifications-pane .notification-microphone-choice > div {
  display:flex;flex:0 1 25rem;gap:.42rem;min-width:14rem;
}
html:root body #cover-notifications-pane .notification-microphone-choice select,
html:root body #cover-notifications-pane .notification-microphone-choice button {
  min-height:2.35rem;border:0;border-radius:.68rem;font:800 .63rem/1.2 inherit;
}
html:root body #cover-notifications-pane .notification-microphone-choice select {
  flex:1 1 auto;min-width:0;padding:.45rem 1.8rem .45rem .68rem;
  background:var(--vmesta-ui-panel,var(--standard-panel));color:var(--vmesta-ui-primary,var(--standard-green));
}
html:root body #cover-notifications-pane .notification-microphone-choice button {
  flex:0 0 auto;padding:.45rem .78rem;background:var(--vmesta-ui-primary,var(--standard-green));color:#fff;cursor:pointer;
}
html:root body #cover-notifications-pane .notification-microphone-choice button:disabled {opacity:.55;cursor:wait;}
html:root body #cover-notifications-pane .notification-microphone-note {display:block;padding:.62rem .76rem 0;}
html:root body #cover-notifications-pane .notification-microphone-settings > p {min-height:1.3rem;margin:0;padding:.2rem .76rem .68rem;color:var(--vmesta-ui-primary,var(--standard-green));}

/* v201: waveform and trim handles share one optical centre on desktop/mobile. */
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim {
  position:relative!important;overflow:hidden!important;
}
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > .messenger-recording-trim-wave.messenger-recording-trim-wave {
  top:50%!important;right:.38rem!important;bottom:auto!important;left:.38rem!important;
  width:calc(100% - .76rem)!important;height:1.18rem!important;
  transform:translateY(-50%)!important;
}
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-start,
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-end {
  position:absolute!important;top:0!important;bottom:0!important;height:100%!important;margin:0!important;padding:0!important;
}
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-start::-webkit-slider-runnable-track,
html:root body .messenger-recording-panel.is-draft .messenger-recording-trim > input.is-end::-webkit-slider-runnable-track {height:100%!important;}
@media(max-width:767px) {
  html:root body #cover-notifications-pane .notification-microphone-choice {align-items:stretch;flex-direction:column;}
  html:root body #cover-notifications-pane .notification-microphone-choice > div {flex:0 0 auto;min-width:0;width:100%;}
  html:root body #cover-notifications-pane .notification-microphone-choice select {width:0;}
}
/* v204: durable messenger outbox and an explicit retry action. */
html:root body .messenger-message-retry {
  display:inline-flex!important;align-items:center;gap:5px;margin:5px 0 0 auto;padding:5px 9px!important;
  border:0!important;border-radius:10px!important;background:color-mix(in srgb,var(--theme-danger,#c45454) 12%,transparent)!important;
  color:var(--theme-danger,#b64b4b)!important;font-family:inherit!important;font-size:11px!important;font-weight:700!important;line-height:1.15!important;cursor:pointer;
}
html:root body .messenger-message-retry svg {width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;}
html:root body .messenger-message-retry:active {transform:scale(.97);}
@media (max-width:767px) {
  html:root body .messenger-message-retry {min-height:30px;padding:6px 10px!important;}
}

/* v205: keep chat scrolling but remove the visual rail that clipped message
   tails after long history updates. Both axes retain touch/wheel scrolling. */
html:root body.messages-route #messages-root #messenger-message-stream {
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  scrollbar-gutter:auto!important;
  padding-inline:max(1rem,env(safe-area-inset-left),env(safe-area-inset-right))!important;
}
html:root body.messages-route #messages-root #messenger-message-stream::-webkit-scrollbar {
  display:none!important;
  width:0!important;
  height:0!important;
}

/* A tail is a fixed-size ornament, never a flexible grid item. Strict min/max
   dimensions prevent an SVG from stretching into a vertical strip in a long,
   incrementally updated conversation. */
html:root body.messages-route #messages-root .messenger-message.has-tail {
  overflow:visible!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail > :is(.messenger-bubble,.messenger-call-history-card) {
  overflow:visible!important;
  isolation:isolate!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail > :is(.messenger-bubble,.messenger-call-history-card) > svg.messenger-bubble-tail {
  position:absolute!important;
  inset:auto!important;
  bottom:0!important;
  display:block!important;
  flex:0 0 .82rem!important;
  width:.82rem!important;
  min-width:.82rem!important;
  max-width:.82rem!important;
  height:.98rem!important;
  min-height:.98rem!important;
  max-height:.98rem!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  z-index:2!important;
  filter:none!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-outgoing > :is(.messenger-bubble,.messenger-call-history-card) > svg.messenger-bubble-tail {
  right:-.4rem!important;
  left:auto!important;
  transform:none!important;
}
html:root body.messages-route #messages-root .messenger-message.has-tail.is-incoming > :is(.messenger-bubble,.messenger-call-history-card) > svg.messenger-bubble-tail {
  right:auto!important;
  left:-.4rem!important;
  transform:scaleX(-1)!important;
}
/* ========================================================================== */
/* v224 — mobile profile only. Desktop, site header and bottom navigation stay */
/* on their original rules.                                                    */
/* ========================================================================== */
.mobile-profile-overview { display:none!important; }

@media (max-width:767px) {
  html:root body.mobile-profile-main-route {
    --mobile-profile-panel:var(--theme-surface-panel,var(--adaptive-surface,#fff));
    --mobile-profile-soft:var(--theme-surface-control,var(--adaptive-surface-2,#eef3f9));
    --mobile-profile-ink:var(--adaptive-text,var(--text-color,#13213a));
    --mobile-profile-muted:var(--adaptive-text-muted,#718096);
    --mobile-profile-accent:var(--color-dynamic,#3775ca);
  }

  html:root body.mobile-profile-main-route #cover-section #user-info-group,
  html:root body.mobile-profile-main-route #mobile-cover-avatar { opacity:0!important;visibility:hidden!important;pointer-events:none!important; }
  html:root body.mobile-profile-main-route #main-profile-status-wrap { display:none!important; }

  html:root body.mobile-profile-main-route .mobile-profile-overview:not([hidden]) {
    position:relative;
    z-index:24;
    display:block!important;
    width:100%;
    margin:0;
    color:var(--mobile-profile-ink);
    background:var(--mobile-profile-panel);
  }
  html:root body.mobile-profile-main-route .mobile-profile-overview:not([hidden])::before {
    position:absolute;
    right:0;
    bottom:100%;
    left:0;
    height:5.3rem;
    pointer-events:none;
    content:"";
    background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--mobile-profile-panel) 78%,transparent) 62%,var(--mobile-profile-panel) 100%);
  }
  html:root body.mobile-profile-main-route .mobile-profile-overview-inner {
    position:relative;
    display:flex;
    width:100%;
    min-width:0;
    flex-direction:column;
    align-items:center;
    gap:.72rem;
    box-sizing:border-box;
    padding:5.55rem .9rem .8rem;
    background:linear-gradient(180deg,color-mix(in srgb,var(--mobile-profile-panel) 96%,transparent),var(--mobile-profile-panel));
  }
  html:root body.mobile-profile-main-route .mobile-profile-avatar-wrap {
    position:absolute;
    z-index:3;
    top:-5.15rem;
    left:50%;
    width:min(45vw,10.75rem);
    aspect-ratio:1;
    transform:translateX(-50%);
  }
  html:root body.mobile-profile-main-route #mobile-profile-avatar {
    display:block;
    width:100%;
    height:100%;
    box-sizing:border-box;
    border:1px solid color-mix(in srgb,var(--mobile-profile-accent) 48%,var(--mobile-profile-panel));
    border-radius:1.45rem;
    background:var(--mobile-profile-soft);
    object-fit:cover;
    box-shadow:0 .75rem 2rem rgb(8 16 30/.24);
  }
  html:root body.mobile-profile-main-route .mobile-profile-avatar-wrap > .profile-safety-menu {
    position:absolute!important;
    top:.55rem!important;
    right:.55rem!important;
    z-index:8!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-avatar-wrap > .profile-safety-menu .profile-safety-trigger {
    width:2.45rem!important;
    height:2.45rem!important;
    min-width:0!important;
    border:0!important;
    border-radius:.82rem!important;
    background:color-mix(in srgb,var(--mobile-profile-accent) 78%,var(--mobile-profile-panel))!important;
    color:#fff!important;
    box-shadow:0 .45rem 1.1rem rgb(8 16 30/.2)!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-identity { width:100%;min-width:0;text-align:center; }
  html:root body.mobile-profile-main-route .mobile-profile-identity h2 {
    overflow-wrap:anywhere;
    margin:0;
    color:var(--mobile-profile-ink);
    font:950 clamp(1.55rem,7.2vw,2.2rem)/1.08 inherit;
    letter-spacing:-.035em;
    text-shadow:0 1px 0 color-mix(in srgb,var(--mobile-profile-panel) 72%,transparent),0 .2rem .7rem rgb(2 12 28/.12);
  }
  html:root body.mobile-profile-main-route .mobile-profile-meta {
    display:flex;
    max-width:100%;
    align-items:center;
    justify-content:center;
    gap:.38rem;
    margin-top:.38rem;
    flex-wrap:wrap;
  }
  html:root body.mobile-profile-main-route #mobile-profile-login {
    max-width:100%;
    padding:0;
    border:0;
    background:transparent;
    color:var(--mobile-profile-accent);
    font:.82rem/1.2 inherit;
    font-weight:850;
    cursor:pointer;
  }
  html:root body.mobile-profile-main-route .mobile-profile-online,
  html:root body.mobile-profile-main-route .mobile-profile-location {
    display:flex;
    min-width:0;
    align-items:center;
    gap:.32rem;
    min-height:1.75rem;
    padding:.3rem .58rem;
    border:0;
    border-radius:999px;
    background:color-mix(in srgb,var(--mobile-profile-soft) 90%,transparent);
    color:var(--mobile-profile-ink);
    font-size:.66rem;
    font-weight:800;
    text-decoration:none;
  }
  html:root body.mobile-profile-main-route .mobile-profile-online:empty,
  html:root body.mobile-profile-main-route .mobile-profile-location[hidden] { display:none!important; }
  html:root body.mobile-profile-main-route .mobile-profile-online .user-online-dot { width:.62rem!important;height:.62rem!important;flex:0 0 .62rem!important; }
  html:root body.mobile-profile-main-route .mobile-profile-location svg { width:.78rem;height:.78rem;flex:0 0 auto;fill:none;stroke:var(--mobile-profile-accent);stroke-width:1.9; }
  html:root body.mobile-profile-main-route .mobile-profile-location span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  html:root body.mobile-profile-main-route .mobile-profile-status {
    display:-webkit-box;
    overflow:hidden;
    max-width:22rem;
    margin:.55rem auto 0;
    color:color-mix(in srgb,var(--mobile-profile-ink) 78%,var(--mobile-profile-accent) 22%);
    font:650 .72rem/1.45 inherit;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
  }
  html:root body.mobile-profile-main-route .mobile-profile-badges {
    position:absolute;
    z-index:4;
    top:.7rem;
    right:.8rem;
    display:flex;
    align-items:center;
    gap:.3rem;
  }
  html:root body.mobile-profile-main-route .mobile-profile-badges[hidden] { display:none!important; }
  html:root body.mobile-profile-main-route .mobile-profile-badges :is(.access-role-marker,.mobile-profile-role,.mobile-profile-verified) {
    display:grid!important;
    width:1.72rem!important;
    height:1.72rem!important;
    min-width:0!important;
    place-items:center!important;
    border:0!important;
    border-radius:.56rem!important;
    background:color-mix(in srgb,var(--mobile-profile-accent) 14%,var(--mobile-profile-soft))!important;
    color:var(--mobile-profile-accent)!important;
    box-shadow:none!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-badges .mobile-profile-verified { color:#2583ff!important;background:color-mix(in srgb,#2583ff 14%,var(--mobile-profile-soft))!important; }
  html:root body.mobile-profile-main-route .mobile-profile-badges svg { width:1rem!important;height:1rem!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important; }

  html:root body.mobile-profile-main-route .mobile-profile-actions-slot { width:100%;min-width:0; }
  html:root body.mobile-profile-main-route .mobile-profile-actions-slot #friend-actions-container {
    width:100%!important;
    gap:.48rem!important;
    margin:.1rem 0 0!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-actions-slot #friend-actions-container:not(.hidden) { display:flex!important; }
  html:root body.mobile-profile-main-route .mobile-profile-actions-slot #msg-btn {
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:3.45rem!important;
    padding:.72rem 1rem!important;
    border:0!important;
    border-radius:1rem!important;
    background:linear-gradient(105deg,var(--mobile-profile-accent),color-mix(in srgb,var(--mobile-profile-accent) 58%,#f084b1))!important;
    color:#fff!important;
    font-size:.88rem!important;
    font-weight:900!important;
    box-shadow:0 .55rem 1.4rem color-mix(in srgb,var(--mobile-profile-accent) 20%,transparent)!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-actions-slot :is(#profile-call-btn,#friend-action-btn) {
    display:grid!important;
    width:3.45rem!important;
    min-width:3.45rem!important;
    height:3.45rem!important;
    min-height:3.45rem!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    border-radius:1rem!important;
    background:var(--mobile-profile-soft)!important;
    color:var(--mobile-profile-accent)!important;
    box-shadow:none!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-actions-slot :is(#profile-call-btn,#friend-action-btn).hidden { display:none!important; }
  html:root body.mobile-profile-main-route .mobile-profile-actions-slot :is(#profile-call-btn,#friend-action-btn) svg { width:1.42rem!important;height:1.42rem!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important; }

  html:root body.mobile-profile-main-route .mobile-profile-level-card,
  html:root body.mobile-profile-main-route .mobile-profile-friends {
    width:100%;
    min-width:0;
    box-sizing:border-box;
    border:0!important;
    border-radius:1rem;
    background:color-mix(in srgb,var(--mobile-profile-soft) 88%,transparent);
    color:var(--mobile-profile-ink);
    box-shadow:none;
  }
  html:root body.mobile-profile-main-route .mobile-profile-level-card {
    display:grid;
    gap:.48rem;
    padding:.68rem .78rem;
    cursor:pointer;
    text-align:left;
  }
  html:root body.mobile-profile-main-route .mobile-profile-level-head { display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem; }
  html:root body.mobile-profile-main-route .mobile-profile-level-head > span { display:grid;gap:.05rem; }
  html:root body.mobile-profile-main-route .mobile-profile-level-card small { color:var(--mobile-profile-muted);font-size:.5rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase; }
  html:root body.mobile-profile-main-route .mobile-profile-level-head strong { color:var(--mobile-profile-ink);font-size:.7rem;font-weight:850; }
  html:root body.mobile-profile-main-route .mobile-profile-level-head strong b { color:var(--mobile-profile-accent);font-size:.92rem; }
  html:root body.mobile-profile-main-route .mobile-profile-level-head em { color:var(--mobile-profile-muted);font-size:.56rem;font-style:normal;font-weight:750; }
  html:root body.mobile-profile-main-route .mobile-profile-level-track { display:block;overflow:hidden;width:100%;height:.38rem;border-radius:999px;background:color-mix(in srgb,var(--mobile-profile-panel) 70%,var(--mobile-profile-soft)); }
  html:root body.mobile-profile-main-route .mobile-profile-level-track i { display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mobile-profile-accent),color-mix(in srgb,var(--mobile-profile-accent) 52%,#f084b1));transition:width .35s ease; }

  html:root body.mobile-profile-main-route .mobile-profile-friends { display:grid;gap:.62rem;padding:.72rem .78rem; }
  html:root body.mobile-profile-main-route .mobile-profile-friends header,
  html:root body.mobile-profile-main-route .mobile-profile-friends header > span,
  html:root body.mobile-profile-main-route .mobile-profile-friends-row,
  html:root body.mobile-profile-main-route .mobile-profile-all-friends { display:flex;min-width:0;align-items:center; }
  html:root body.mobile-profile-main-route .mobile-profile-friends header { justify-content:space-between;gap:.6rem; }
  html:root body.mobile-profile-main-route .mobile-profile-friends header > span { gap:.48rem; }
  html:root body.mobile-profile-main-route .mobile-profile-friends header svg { width:1.15rem;height:1.15rem;fill:none;stroke:var(--mobile-profile-accent);stroke-width:1.9; }
  html:root body.mobile-profile-main-route .mobile-profile-friends header strong { font-size:.82rem;font-weight:900; }
  html:root body.mobile-profile-main-route #mobile-profile-friends-count { display:grid;min-width:1.9rem;height:1.9rem;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--mobile-profile-accent) 13%,var(--mobile-profile-panel));color:var(--mobile-profile-accent);font-size:.72rem;font-weight:950; }
  html:root body.mobile-profile-main-route .mobile-profile-friends-row { justify-content:space-between;gap:.5rem; }
  html:root body.mobile-profile-main-route .mobile-profile-friends-list { display:grid;width:min(100%,13.6rem);flex:1 1 auto;grid-template-columns:repeat(5,minmax(0,1fr));gap:.28rem; }
  html:root body.mobile-profile-main-route .mobile-profile-friends-list > button,
  html:root body.mobile-profile-main-route .mobile-profile-friends-list .profile-friend-avatar-skeleton { position:relative;display:block;width:100%;height:auto;aspect-ratio:1;min-width:0;padding:0;border:0;background:transparent; }
  html:root body.mobile-profile-main-route .mobile-profile-friends-list > button img { display:block;width:100%!important;height:100%!important;border:0!important;border-radius:.78rem!important;object-fit:cover;box-shadow:0 .25rem .72rem rgb(2 12 28/.14); }
  html:root body.mobile-profile-main-route .mobile-profile-friends-list .profile-friend-avatar-skeleton { border-radius:.78rem;background:color-mix(in srgb,var(--mobile-profile-accent) 9%,var(--mobile-profile-panel)); }
  html:root body.mobile-profile-main-route .mobile-profile-friends-list .user-online-dot { position:absolute!important;right:-.05rem!important;bottom:-.05rem!important;width:.7rem!important;height:.7rem!important;border-width:2px!important; }
  html:root body.mobile-profile-main-route .mobile-profile-all-friends { flex:0 0 auto;justify-content:flex-end;gap:.28rem;padding:.45rem 0 .45rem .58rem;border:0!important;border-left:1px solid color-mix(in srgb,var(--mobile-profile-muted) 28%,transparent)!important;background:transparent!important;color:var(--mobile-profile-muted)!important;font-size:.58rem;font-weight:850;white-space:nowrap; }
  html:root body.mobile-profile-main-route .mobile-profile-all-friends svg { width:.85rem;height:.85rem;fill:none;stroke:var(--mobile-profile-accent);stroke-width:2; }
  html:root body.mobile-profile-main-route .mobile-profile-friends-empty { grid-column:1/-1;color:var(--mobile-profile-muted);font-size:.62rem;font-weight:750; }

  /* На глобальных мобильных разделах профильная обложка и её медиавкладки не
     занимают место. Сами лента, друзья и пространства остаются без изменений. */
  html:root body.mobile-section-without-profile-head #cover-section,
  html:root body.spaces-catalog-route #cover-section,
  html:root body.mobile-section-without-profile-head #profile-tabs-container,
  html:root body.spaces-catalog-route #profile-tabs-container { display:none!important; }
  html:root body.spaces-catalog-route .mobile-profile-overview { display:none!important; }
  html:root body.mobile-section-without-profile-head #profile-layout-grid,
  html:root body.spaces-catalog-route #profile-layout-grid { margin-top:.55rem!important; }
}

@media (max-width:380px) {
  html:root body.mobile-profile-main-route .mobile-profile-overview-inner { padding-inline:.68rem; }
  html:root body.mobile-profile-main-route .mobile-profile-avatar-wrap { width:min(43vw,9.6rem); }
  html:root body.mobile-profile-main-route .mobile-profile-friends-list { gap:.2rem; }
  html:root body.mobile-profile-main-route .mobile-profile-all-friends { font-size:.52rem; }
}

.vmesta-mobile-profile-skeleton { display:none; }
@media (max-width:767px) {
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-cover-skeleton-copy { visibility:hidden!important; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-cover-skeleton-inner::before { display:none!important; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body #profile-layout-grid { margin-top:0!important;padding:0!important; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body #vmesta-profile-skeleton { display:block!important;width:100%!important;max-width:none!important; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body #vmesta-profile-skeleton > .vmesta-skeleton-column { display:none!important; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton {
    position:relative;display:grid;width:100%;box-sizing:border-box;justify-items:center;gap:.65rem;padding:5.35rem .9rem .85rem;background:var(--theme-surface-panel,var(--adaptive-surface,#fff));
  }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton::before {
    position:absolute;right:0;bottom:100%;left:0;height:5rem;background:linear-gradient(180deg,transparent,var(--theme-surface-panel,var(--adaptive-surface,#fff)));content:"";
  }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-avatar {
    position:absolute;z-index:2;top:-5rem;left:50%;display:block;width:min(45vw,10.5rem);aspect-ratio:1;transform:translateX(-50%);border-radius:1.4rem;background:var(--skeleton-base,var(--adaptive-surface-muted,#e4edf7));
  }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-name { display:block;width:min(74%,18rem);height:1.8rem;border-radius:.65rem;background:var(--skeleton-base,var(--adaptive-surface-muted,#e4edf7)); }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-meta { display:flex;gap:.35rem; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-meta i { display:block;width:4.7rem;height:1.45rem;border-radius:999px;background:var(--skeleton-soft,var(--adaptive-surface-muted,#e4edf7)); }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-status { display:block;width:min(80%,20rem);height:.8rem;border-radius:999px;background:var(--skeleton-soft,var(--adaptive-surface-muted,#e4edf7)); }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body :is(.vmesta-mobile-profile-skeleton-level,.vmesta-mobile-profile-skeleton-friends) { display:grid;width:calc(100% - 1.8rem);box-sizing:border-box;gap:.6rem;padding:.78rem;border-radius:1rem;background:var(--skeleton-base,var(--adaptive-surface-muted,#e4edf7)); }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-level i:first-child { width:42%;height:.8rem;border-radius:999px;background:var(--skeleton-soft); }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-level i:last-child { width:100%;height:.38rem;border-radius:999px;background:var(--skeleton-soft); }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-friends > i { display:block;width:5.5rem;height:.9rem;border-radius:999px;background:var(--skeleton-soft); }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-friends > span { display:grid;grid-template-columns:repeat(5,1fr);gap:.28rem; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-friends b { display:block;aspect-ratio:1;border-radius:.78rem;background:var(--skeleton-soft); }

  html.vmesta-section-boot:is([data-vmesta-boot-view="feed"],[data-vmesta-boot-view="friends"],[data-vmesta-boot-view="spaces"],[data-vmesta-boot-view="photos"],[data-vmesta-boot-view="videos"],[data-vmesta-boot-view="music"]) #vmesta-section-boot :is(.vmesta-boot-cover-shell,.vmesta-boot-tabs) { display:none!important; }
  html.vmesta-section-boot:is([data-vmesta-boot-view="feed"],[data-vmesta-boot-view="friends"],[data-vmesta-boot-view="spaces"],[data-vmesta-boot-view="photos"],[data-vmesta-boot-view="videos"],[data-vmesta-boot-view="music"]) #vmesta-section-boot .vmesta-boot-layout { margin-top:.7rem!important; }
}

/* v225: точечная доводка мобильной карточки профиля и мобильных разделов. */
.mobile-feed-section-title { display:none; }
@media (max-width:767px) {
  html:root body.mobile-profile-main-route .mobile-profile-avatar-wrap {
    box-sizing:border-box;
    padding:3px;
    border-radius:1.58rem;
    background:linear-gradient(145deg,color-mix(in srgb,var(--mobile-profile-accent) 92%,#fff),color-mix(in srgb,var(--mobile-profile-accent) 42%,#f084b1));
    box-shadow:0 .78rem 2rem rgb(8 16 30/.24),0 0 0 1px color-mix(in srgb,var(--mobile-profile-panel) 76%,transparent);
  }
  html:root body.mobile-profile-main-route #mobile-profile-avatar {
    border:0!important;
    border-radius:1.4rem!important;
    box-shadow:none!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-identity h2 {
    margin:.08rem auto 0!important;
    max-width:100%;
    color:var(--mobile-profile-ink)!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:clamp(1.82rem,8.35vw,2.62rem)!important;
    font-weight:950!important;
    line-height:1.02!important;
    letter-spacing:-.052em!important;
    overflow-wrap:break-word!important;
    text-wrap:balance;
    text-shadow:0 1px 0 color-mix(in srgb,var(--mobile-profile-panel) 78%,transparent),0 .22rem .75rem rgb(2 12 28/.14)!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-meta {
    gap:.38rem!important;
    margin-top:.36rem!important;
  }
  html:root body.mobile-profile-main-route #mobile-profile-login {
    display:block!important;
    flex:0 0 100%!important;
    width:100%!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:.92rem!important;
    font-weight:850!important;
    line-height:1.2!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-online {
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    flex:0 0 auto!important;
    align-self:center!important;
    box-sizing:border-box!important;
    min-height:1.8rem!important;
    padding:.32rem .64rem!important;
    overflow:hidden!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-online:empty { display:none!important; }
  html:root body.mobile-profile-main-route .mobile-profile-presence-dot {
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:.62rem!important;
    height:.62rem!important;
    min-width:.62rem!important;
    flex:0 0 .62rem!important;
    border:0!important;
    border-radius:50%!important;
    background:var(--mobile-profile-muted)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--mobile-profile-muted) 14%,transparent)!important;
    animation:none!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-presence-dot.is-online {
    background:#20c878!important;
    box-shadow:0 0 0 3px rgb(32 200 120/.15)!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-presence-label {
    display:block;overflow:hidden;max-width:12rem;text-overflow:ellipsis;white-space:nowrap;
  }
  html:root body.mobile-profile-main-route .mobile-profile-status {
    box-sizing:border-box!important;
    width:fit-content!important;
    max-width:min(100%,22rem)!important;
    margin:.55rem auto 0!important;
    padding:.55rem .78rem!important;
    border:0!important;
    border-radius:.88rem!important;
    background:color-mix(in srgb,var(--mobile-profile-soft) 88%,transparent)!important;
    color:color-mix(in srgb,var(--mobile-profile-ink) 82%,var(--mobile-profile-accent) 18%)!important;
    font-family:Inter,"Segoe UI",Arial,sans-serif!important;
    font-size:.74rem!important;
    font-weight:650!important;
    line-height:1.45!important;
    letter-spacing:0!important;
    text-align:left!important;
    box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 34%,transparent)!important;
  }

  html:root body.mobile-profile-main-route.profile-editor-route #cover-action-stack {
    right:.85rem!important;
    bottom:1rem!important;
  }
  html:root body.mobile-profile-main-route.profile-editor-route #cover-motion-btn:not(.hidden) {
    display:grid!important;
    width:3rem!important;
    height:3rem!important;
    min-width:3rem!important;
    min-height:3rem!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    border-radius:1rem!important;
    background:color-mix(in srgb,var(--mobile-profile-accent) 88%,var(--mobile-profile-panel))!important;
    color:#fff!important;
    opacity:1!important;
    box-shadow:0 .55rem 1.35rem color-mix(in srgb,var(--mobile-profile-accent) 30%,transparent)!important;
  }
  html:root body.mobile-profile-main-route.profile-editor-route #cover-motion-btn .cover-motion-icon {
    width:1.28rem!important;height:1.28rem!important;color:inherit!important;opacity:1!important;
  }

  html:root body.mobile-section-without-profile-head #tab-feed:not(.hidden) > .mobile-feed-section-title {
    display:flex;
    min-height:4.2rem;
    box-sizing:border-box;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    margin:0 0 .75rem;
    padding:.85rem 1rem;
    border:0;
    border-radius:1rem;
    background:var(--theme-surface-panel,var(--adaptive-surface,#fff));
    color:var(--adaptive-text,var(--text-color,#13213a));
    box-shadow:none;
  }
  html:root body.mobile-section-without-profile-head .mobile-feed-section-title strong { font-size:.96rem;font-weight:900; }
  html:root body.mobile-section-without-profile-head .mobile-feed-section-title span { color:var(--adaptive-text-muted,#718096);font-size:.62rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em; }

  html:root body #mobile-friends-sections > summary {
    justify-content:space-between!important;
    gap:.75rem!important;
    list-style:none!important;
  }
  html:root body #mobile-friends-sections > summary::-webkit-details-marker { display:none!important; }
  html:root body .mobile-route-sections-chevron {
    width:1.05rem!important;height:1.05rem!important;flex:0 0 1.05rem!important;
    fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;
    transition:transform .2s ease;
  }
  html:root body .mobile-route-sections[open] > summary .mobile-route-sections-chevron { transform:rotate(180deg); }

  html:root body.spaces-catalog-route .spaces-top-search-panel {
    padding:.35rem 0 .55rem!important;
  }
  html:root body.spaces-catalog-route .spaces-top-search {
    min-height:3.55rem!important;
    padding:0 1.05rem!important;
    border:0!important;
    border-radius:1rem!important;
    background:var(--adaptive-surface-2,#f8fafc)!important;
    box-shadow:none!important;
  }
  html:root body.spaces-catalog-route .spaces-top-search > input {
    min-height:3.35rem!important;
    border:0!important;
    outline:0!important;
    font-size:.9rem!important;
    line-height:1.45!important;
  }
}

/* v226 final precedence: these rules intentionally follow the v225 profile layer. */
html:root body .vmesta-track-cover-art {
  position:relative;display:grid;width:3rem;height:3rem;min-width:3rem;overflow:hidden;place-items:center;border-radius:.8rem;
  background:linear-gradient(145deg,color-mix(in srgb,var(--color-dynamic,#3775ca) 18%,var(--theme-surface-control,#e8eff8)),var(--theme-surface-nested,#edf4fb));
  color:var(--color-dynamic,#3775ca);
}
html:root body .vmesta-track-cover-art svg { width:1.28rem;height:1.28rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round; }
html:root body .vmesta-track-player.is-cover-ready .vmesta-track-cover-art {
  background:linear-gradient(rgb(3 10 22/.08),rgb(3 10 22/.18)),var(--vmesta-track-cover) center/cover no-repeat;
  color:#fff;text-shadow:0 1px 3px rgb(0 0 0/.65);
}
html:root body .vmesta-track-body { grid-template-columns:3rem 2.15rem minmax(5rem,1fr) auto!important;align-items:center!important; }
@media (max-width:767px) {
  html:root body .vmesta-track-body { grid-template-columns:3rem 2rem minmax(4rem,1fr) auto!important;gap:.4rem!important; }
  html:root body.mobile-profile-main-route .mobile-profile-online { overflow:visible!important; }
  html:root body.mobile-profile-main-route .mobile-profile-status {
    display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:.6rem!important;
    width:min(100%,22rem)!important;padding:.62rem .8rem!important;
    background:linear-gradient(90deg,color-mix(in srgb,var(--mobile-profile-accent) 12%,var(--mobile-profile-soft)),var(--mobile-profile-soft) 24%,var(--mobile-profile-soft) 76%,color-mix(in srgb,var(--mobile-profile-accent) 12%,var(--mobile-profile-soft)))!important;
    box-shadow:0 .45rem 1.15rem rgb(4 12 28/.08)!important;
  }
  html:root body.mobile-profile-main-route .mobile-profile-status[hidden] { display:none!important; }
  html:root body.mobile-profile-main-route .mobile-profile-status > svg {
    width:1.08rem;height:1.08rem;min-width:1.08rem;margin-top:.05rem;fill:none;stroke:var(--mobile-profile-accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;
  }
  html:root body.mobile-profile-main-route .mobile-profile-status > span {
    display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;text-wrap:wrap;text-align:left;
  }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body #profile-tabs-container { display:none!important; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton { padding-top:5.55rem!important; }
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body .vmesta-mobile-profile-skeleton-avatar {
    top:-5.15rem!important;box-sizing:border-box;padding:3px;border-radius:1.58rem!important;
    background:linear-gradient(145deg,color-mix(in srgb,var(--color-dynamic,#3775ca) 75%,var(--skeleton-base,#e4edf7)),color-mix(in srgb,var(--color-dynamic,#3775ca) 24%,var(--skeleton-soft,#edf2f8)))!important;
    box-shadow:0 .72rem 1.7rem rgb(8 16 30/.12);
  }
}

/* v227 final call precedence. */
html:root body.messages-route #messages-root .messenger-message.messenger-call-history {
  display:flex!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;
}
html:root body.messages-route #messages-root .messenger-message.messenger-call-history.is-outgoing { justify-content:flex-end!important; }
html:root body.messages-route #messages-root .messenger-message.messenger-call-history.is-incoming { justify-content:flex-start!important; }
html:root body.messages-route #messages-root .messenger-message.messenger-call-history.has-tail > .messenger-call-history-card > svg.messenger-bubble-tail { display:none!important; }

/* v228 must stay last: later legacy mobile rules must not undo it. */
html:root body.mobile-profile-main-route .mobile-profile-online :is(.online-dot,.user-online-dot,.mobile-profile-presence-dot).is-online,
html:root body #user-online-status .online-dot.is-online { position:relative!important;overflow:visible!important;isolation:isolate; }
html:root body.mobile-profile-main-route .mobile-profile-online :is(.online-dot,.user-online-dot,.mobile-profile-presence-dot).is-online::after,
html:root body #user-online-status .online-dot.is-online::after {
  content:""!important;position:absolute!important;inset:-.28rem!important;border-radius:999px!important;
  border:2px solid color-mix(in srgb,#21d47b 70%,transparent)!important;
  animation:vmesta-online-pulse-v228 1.8s ease-out infinite!important;pointer-events:none!important;z-index:0!important;
}
html:root body.messages-route #messages-root .messenger-call-history.has-tail .messenger-call-history-card { position:relative!important; }
html:root body.messages-route #messages-root .messenger-call-history.has-tail .messenger-call-history-card::after {
  content:""!important;display:block!important;position:absolute!important;bottom:.08rem!important;width:.9rem!important;height:1rem!important;background:inherit!important;transform:none!important;clip-path:none!important;
}
html:root body.messages-route #messages-root .messenger-call-history.has-tail.is-outgoing .messenger-call-history-card::after { right:-.52rem!important;left:auto!important;border-radius:0 0 0 .95rem!important; }
html:root body.messages-route #messages-root .messenger-call-history.has-tail.is-incoming .messenger-call-history-card::after { left:-.52rem!important;right:auto!important;border-radius:0 0 .95rem 0!important; }
@media(max-width:700px){
  html:root body.messages-route #messenger-delete-confirm { align-items:flex-end!important;padding:.55rem!important; }
  html:root body.messages-route #messenger-delete-confirm > section { width:100%!important;max-height:min(58dvh,25rem)!important;overflow:auto!important;padding:.9rem!important;border-radius:1.35rem!important; }
  html:root body.messages-route #messenger-delete-confirm .messenger-delete-mark { width:2.85rem!important;height:2.85rem!important;margin:0 auto .45rem!important; }
  html:root body.messages-route #messenger-delete-confirm .messenger-delete-mark :is(svg,.messenger-icon) { width:1.45rem!important;height:1.45rem!important; }
  html:root body.messages-route #messenger-delete-confirm h2 { margin:.15rem 0!important;font-size:1.18rem!important; }
  html:root body.messages-route #messenger-delete-confirm > section > p { margin:.3rem auto .65rem!important;font-size:.82rem!important;line-height:1.3!important; }
  html:root body.messages-route #messenger-delete-confirm .messenger-delete-choices label { min-height:2.65rem!important;padding:.55rem .65rem!important;font-size:.76rem!important; }
  html:root body.messages-route #messenger-delete-confirm .messenger-delete-actions { margin:.6rem 0 0!important;gap:.4rem!important; }
  html:root body.messages-route #messenger-delete-confirm .messenger-delete-actions button { min-height:2.75rem!important;border-radius:1rem!important;font-size:.72rem!important; }
  html:root body.messages-route #messages-root .messenger-photo-grid.is-count-1,
  html:root body.messages-route #messages-root .messenger-video-grid.is-count-1,
  html:root body.messages-route #messages-root .messenger-video-grid:has(> :only-child) { width:min(19rem,76vw)!important;max-width:100%!important; }
  html:root body.messages-route #messages-root .messenger-photo-grid.is-count-1 img,
  html:root body.messages-route #messages-root .messenger-video-grid.is-count-1 video,
  html:root body.messages-route #messages-root .messenger-video-grid:has(> :only-child) video { display:block!important;width:100%!important;max-height:min(52dvh,27rem)!important;object-fit:contain!important; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-card { padding-bottom:calc(6.25rem + env(safe-area-inset-bottom))!important; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-actions { position:sticky!important;bottom:calc(.25rem + env(safe-area-inset-bottom))!important;z-index:8!important;margin-top:.65rem!important; }
  html:root body #vmesta-call-layer.has-video:not(.view-compact) .vmesta-call-note { position:relative!important;z-index:7!important;margin:.55rem 0 0!important; }
}

html.vmesta-section-boot:is([data-vmesta-boot-view="feed"],[data-vmesta-boot-view="friends"],[data-vmesta-boot-view="spaces"],[data-vmesta-boot-view="photos"],[data-vmesta-boot-view="videos"],[data-vmesta-boot-view="music"]) #vmesta-section-boot :is(.vmesta-boot-cover-shell,.vmesta-boot-tabs) { display:none!important; }

/* v240: restore the right-hand eye/pause/send column. Reserve its height
   inside the composer and keep the reply to its left, without overlap. */
html:root body.messages-route #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) {
  grid-template-rows:minmax(3.3rem,auto) auto!important;gap:.4rem!important;height:auto!important;min-height:8rem!important;max-height:none!important;
}
html:root body.messages-route #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply {
  position:relative!important;inset:auto!important;grid-area:1 / 1!important;
  width:calc(100% - 3.1rem)!important;min-height:3rem!important;height:auto!important;max-height:4rem!important;
  padding:.4rem .6rem!important;margin:0!important;transform:none!important;
  grid-template-columns:auto minmax(0,1fr) 2rem!important;
  border-radius:.85rem!important;box-sizing:border-box!important;z-index:1!important;
}
html:root body.messages-route #messages-root .messenger-composer.is-recording > #messenger-recording-panel.is-active:not(.is-draft) {
  position:relative!important;inset:auto!important;transform:none!important;
  grid-area:2 / 1!important;display:flex!important;align-items:center!important;
  height:auto!important;min-height:3.2rem!important;max-height:none!important;padding:.35rem 3.2rem .35rem .35rem!important;gap:.4rem!important;
}
html:root body.messages-route #messages-root .messenger-composer.is-recording:not(.has-reply) > #messenger-recording-panel.is-active:not(.is-draft) { grid-row:2!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) > :is(.messenger-recording-status,.messenger-recording-wave,.messenger-recording-cancel) {
  align-self:center!important;height:2.4rem!important;min-height:0!important;margin:0!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-wave { flex:1 1 0!important;min-width:0!important;width:auto!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status { flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-status strong { min-width:0!important;width:auto!important;max-width:none!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions {
  position:absolute!important;inset:auto .35rem .35rem auto!important;display:grid!important;flex:none!important;
  width:2.375rem!important;min-width:2.375rem!important;max-width:none!important;height:7.125rem!important;min-height:7.125rem!important;
  grid-template-columns:2.375rem!important;grid-template-rows:1.75rem 2.375rem 2.375rem!important;gap:.3125rem!important;
  align-self:end!important;align-items:center!important;justify-items:center!important;transform:none!important;margin:0!important;z-index:3!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > button {
  position:relative!important;inset:auto!important;grid-column:1!important;flex:none!important;
  width:2.375rem!important;min-width:2.375rem!important;height:2.375rem!important;min-height:2.375rem!important;
  margin:0!important;transform:none!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > .messenger-media-privacy { grid-area:1 / 1!important;width:1.75rem!important;min-width:1.75rem!important;height:1.75rem!important;min-height:1.75rem!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > .messenger-recording-stop { grid-area:2 / 1!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-actions > .messenger-recording-send { grid-area:3 / 1!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft):not(.is-locked) .messenger-recording-stop { display:none!important; }
/* v241: gesture lock has a dedicated slot ABOVE the eye/pause/send column.
   One geometry for holding and locked states; it never becomes a flex item. */
html:root body.messages-route #messages-root #messenger-recording-panel .messenger-recording-lock[hidden],
html:root body.messages-route #messages-root #messenger-recording-panel:not(.is-active) .messenger-recording-lock,
html:root body.messages-route #messages-root #messenger-recording-panel.is-draft .messenger-recording-lock {
  display:none!important;visibility:hidden!important;pointer-events:none!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-lock:not([hidden]) {
  position:absolute!important;inset:auto .475rem 7.975rem auto!important;display:grid!important;place-items:center!important;
  width:2.125rem!important;min-width:2.125rem!important;height:2.125rem!important;min-height:2.125rem!important;
  padding:0!important;margin:0!important;transform:none!important;visibility:visible!important;opacity:1!important;
  border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;pointer-events:none!important;z-index:5!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-lock > b {
  position:relative!important;inset:auto!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;
  width:100%!important;height:100%!important;transform:none!important;margin:0!important;animation:none!important;
  border:3px solid transparent!important;border-radius:50%!important;box-shadow:none!important;color:var(--msg-accent)!important;
  background:linear-gradient(var(--msg-panel),var(--msg-panel)) padding-box,conic-gradient(var(--msg-accent) var(--recording-lock-progress,0%),var(--msg-muted) 0) border-box!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-lock .messenger-icon { display:inline-flex!important;width:1.1rem!important;height:1.1rem!important;opacity:1!important; }
html:root body.messages-route #messages-root #messenger-recording-panel .messenger-recording-lock svg { stroke-width:2.5!important; }
html:root body.messages-route #messages-root .messenger-composer.is-recording.has-reply #messenger-recording-panel.is-video:not(.is-draft) .messenger-recording-video-stage { bottom:calc(100% + 3.7rem)!important; }

/* Album cells form complete rows, including videos. Width follows the chat,
   not the viewport, so a narrow desktop window behaves like a phone. */
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album {
  box-sizing:border-box!important;width:min(var(--album-width,260px),100%)!important;min-width:0!important;max-width:100%!important;
  padding:.25rem .25rem .35rem!important;
}
html:root body.messages-route #messages-root .messenger-bubble.has-media-album > .messenger-media-album {
  display:grid!important;width:100%!important;max-width:100%!important;min-width:0!important;
  grid-template-columns:var(--album-columns,minmax(0,1fr))!important;grid-template-rows:var(--album-rows,minmax(0,1fr))!important;grid-auto-rows:auto!important;
  aspect-ratio:var(--album-ratio)!important;gap:2px!important;overflow:hidden!important;border-radius:.8rem!important;
}
html:root body.messages-route #messages-root .messenger-media-album .messenger-album-cell {
  position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--msg-panel-strong);
}
html:root body.messages-route #messages-root .messenger-media-album .messenger-album-cell > :is(button,.messenger-generic-media,.messenger-hidden-media) {
  position:relative!important;display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;
  min-width:0!important;max-width:100%!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:0!important;
}
html:root body.messages-route #messages-root .messenger-media-album .messenger-album-cell img,
html:root body.messages-route #messages-root .messenger-media-album .messenger-album-cell video {
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;
}
html:root body.messages-route #messages-root .messenger-media-album .vmesta-video-player {
  width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important;aspect-ratio:auto!important;border-radius:0!important;
}
html:root body.messages-route #messages-root .messenger-media-album:not(.is-count-1) .vmesta-video-controls { display:none!important; }
html:root body.messages-route #messages-root .messenger-media-album:not(.is-count-1) .vmesta-video-center { width:2.5rem!important;height:2.5rem!important; }
html:root body.messages-route #messages-root .messenger-album-video .messenger-album-video-open {
  position:absolute;inset:0;z-index:3;display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;
  background:linear-gradient(transparent,#0003);color:white;cursor:pointer;
}
html:root body.messages-route #messages-root .messenger-album-video-open > .messenger-icon {
  display:grid;place-items:center;width:2.5rem;height:2.5rem;padding:.65rem;border-radius:50%;background:#0008;
}
html:root body.messages-route #messages-root .messenger-album-video-open > small { position:absolute;bottom:.3rem;right:.3rem;padding:.12rem .3rem;border-radius:999px;background:#0009;font-size:.65rem; }
html:root body.messages-route #messages-root .messenger-album-video:is(.is-uploading,.is-download-required) > .messenger-album-video-open { display:none!important; }
html:root body.messages-route #messages-root .messenger-bubble.has-media-album > :is(p,.messenger-message-meta,.messenger-reply-quote,.messenger-forwarded-label) { margin-left:.45rem!important;margin-right:.45rem!important; }
html:root body.messages-route #messages-root .messenger-bubble.has-media-album > p { width:auto!important;max-width:calc(100% - .9rem)!important;overflow-wrap:anywhere!important;min-width:0!important;font-size:clamp(.8rem,1.8vw,.95rem)!important; }
html:root body.messages-route #messages-root .messenger-album-row { display:flex;gap:2px;min-width:0;min-height:0;overflow:hidden; }
html:root body.messages-route #messages-root .messenger-album-column { display:grid;gap:2px;min-width:0;min-height:0;overflow:hidden; }
html:root body.messages-route #messages-root .messenger-bubble.has-media-album > .messenger-media-album.is-count-1 :is(img,video) { object-fit:contain!important;min-width:0!important;min-height:0!important;max-height:none!important;width:100%!important;height:100%!important; }
html:root body.messages-route #messages-root .messenger-bubble.has-media-album > .messenger-media-album.is-count-1 {
  aspect-ratio:auto!important;height:calc((var(--album-width,240px) - 8px) / var(--album-ratio))!important;
  grid-template-rows:minmax(0,1fr)!important;
}
html:root body.messages-route #messages-root .messenger-pending-attachments > .messenger-pending-strip {
  display:flex!important;flex-wrap:nowrap!important;gap:.5rem!important;width:100%!important;max-width:100%!important;min-width:0!important;
  overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;scrollbar-width:thin;
}
html:root body.messages-route #messages-root .messenger-pending-strip > article {
  position:relative!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;
  flex:0 0 13rem!important;width:13rem!important;min-width:13rem!important;height:auto!important;gap:.4rem!important;padding:.5rem!important;
}
html:root body.messages-route #messages-root .messenger-pending-strip > article > :is(img,video) { width:42px!important;height:42px!important;object-fit:cover!important;border-radius:.5rem!important; }
html:root body.messages-route #messages-root .messenger-pending-strip .messenger-pending-copy { display:grid!important;min-width:0; }
html:root body.messages-route #messages-root .messenger-pending-strip .messenger-pending-copy :is(strong,small) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
html:root body.messages-route #messages-root .messenger-pending-strip .messenger-pending-attachment-actions { position:static!important;grid-column:1 / -1;display:flex!important;justify-content:flex-end!important;gap:.25rem!important; }

/* Sticker timestamps use an opaque, theme-aware pill instead of disappearing
   against the picture/page in the light theme. */
html:root body.messages-route #messages-root .messenger-bubble:is(.is-sticker-only,.is-sticker-reply) > .messenger-message-meta {
  width:max-content!important;max-width:100%!important;padding:.18rem .42rem!important;border-radius:999px!important;
  background:var(--theme-surface-control,#e3eaf2)!important;color:var(--theme-text-primary,#25354a)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--theme-text-primary,#25354a) 15%,transparent)!important;
  opacity:1!important;
}
html:root body.messages-route #messages-root .messenger-bubble:is(.is-sticker-only,.is-sticker-reply) > .messenger-message-meta time { color:inherit!important;opacity:1!important; }
@media(max-width:767px) {
  html:root body.messages-route #messages-root .messenger-message .messenger-bubble:is(.is-voice-note-only,.is-voice-note-reply) {
    box-sizing:border-box!important;width:min(16.5rem,100%)!important;max-width:100%!important;
    min-height:3.25rem!important;padding:.4rem .55rem .35rem!important;
  }
  html:root body.messages-route #messages-root .messenger-bubble:is(.is-voice-note-only,.is-voice-note-reply) .messenger-voice-note { grid-template-columns:2.3rem minmax(0,1fr)!important;gap:.4rem!important; }
  html:root body.messages-route #messages-root .messenger-bubble:is(.is-voice-note-only,.is-voice-note-reply) .messenger-voice-note-toggle { width:2.3rem!important;min-width:2.3rem!important;height:2.3rem!important;flex-basis:2.3rem!important; }
  html:root body.messages-route #messages-root .messenger-bubble.has-media-album > p { font-size:.85rem!important;line-height:1.4!important; }
}
@media(max-width:380px) {
  html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) { gap:.25rem!important; }
}

/* v229: controls and the test-version label occupy separate rows. */
@media(max-width:700px){
  html:root body #vmesta-call-layer.vmesta-call-layer:not(.view-compact) .vmesta-call-card { padding-bottom:calc(1rem + env(safe-area-inset-bottom))!important; }
  html:root body #vmesta-call-layer.vmesta-call-layer:not(.view-compact) .vmesta-call-actions { position:relative!important;bottom:auto!important;flex-shrink:0!important;margin:.65rem 0 0!important; }
  html:root body #vmesta-call-layer.vmesta-call-layer:not(.view-compact) .vmesta-call-note { position:static!important;flex-shrink:0!important;display:block!important;margin:.55rem 0 0!important;padding:0 .6rem!important; }
}
/* v237: media gestures update a composited surface, not the whole page. */
html:root body .vmesta-image-editor-crop-preview {position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;contain:layout paint;}
html:root body .vmesta-image-editor-crop-preview > canvas {display:block;width:100%;height:100%;transform-origin:0 0;will-change:transform;}
html:root body .vmesta-image-editor-stage.is-crop-mode #vmesta-image-editor-base {visibility:hidden;}
html:root body .vmesta-image-editor-stage.is-crop-mode #vmesta-image-editor-paint {z-index:2;}
html:root body .vmesta-image-editor-stage.is-crop-mode #vmesta-image-editor-crop {z-index:3;}
html:root body :is(#media-viewer-image,.messenger-photo-viewer figure > img,.shared-post-media-viewer figure > img).is-viewer-dragging {transition:none!important;will-change:transform;}
@media (max-width:767px) {
  html:root[data-vmesta-route-shell="profile"] body #cover-section #user-info-group,
  html:root[data-vmesta-route-shell="profile"] body #mobile-cover-avatar {opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
  html:root[data-vmesta-pending-space-profile="catalog"] body :is(#cover-section,#profile-tabs-container,#mobile-profile-overview) {display:none!important;}
}
@media (max-width:767px), (pointer:coarse) {
  html:root body :is(#media-viewer,.messenger-photo-viewer,.shared-post-media-viewer,.vmesta-image-editor-backdrop) {backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  html:root body #media-viewer-backdrop {background-image:none!important;filter:none!important;display:none!important;}
  html:root body :is(#media-viewer-image,.messenger-photo-viewer figure > img,.shared-post-media-viewer figure > img) {filter:none!important;box-shadow:none!important;transition:none!important;}
  html:root body :is(.messenger-recording-video,.messenger-video-note,.messenger-video-note video,.messenger-recording-video video) {filter:none!important;backdrop-filter:none!important;box-shadow:none!important;}
  html:root body .messenger-bubble.is-video-note-only {transition:none!important;}
  html:root body .messenger-recording-wave {contain:layout paint;}
}

/* v238: bounded media surfaces and editor controls above the photo. */
html:root body .messenger-voice-wave-svg { display:block;width:100%;height:18px;overflow:hidden;fill:none;stroke-width:1;stroke-linecap:round; }
html:root body .messenger-voice-wave-base { stroke:var(--msg-muted,#718096); }
html:root body .messenger-voice-wave-progress { stroke:var(--msg-accent,#3775ca); }
html:root body .messenger-recording-wave-svg { display:block;flex:1;width:100%;height:26px;fill:none;stroke:var(--msg-accent,#3775ca);stroke-width:1;stroke-linecap:round; }
html:root body .messenger-recording-video video { transform:none!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-dialog { grid-template-rows:auto auto auto auto minmax(0,1fr) auto!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings { position:relative!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center;gap:.6rem!important;width:100%!important;margin:0!important;padding:.45rem .75rem!important;min-height:42px; }
html:root body #vmesta-image-editor .vmesta-image-editor-stage-wrap { padding:16px!important;min-height:0!important;overflow:hidden!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings :is(.vmesta-image-editor-range,.vmesta-image-editor-zoom:not(.hidden)) { display:flex!important;flex-direction:row!important;align-items:center;gap:.4rem;min-width:0!important;width:auto!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings input[type="range"] { writing-mode:horizontal-tb!important;direction:ltr!important;width:5rem!important;height:24px!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-crop:not(.hidden) { outline:none!important;box-shadow:inset 0 0 0 2px white!important;transition:none!important; }
html:root body .vmesta-image-editor-crop-shade { position:absolute;pointer-events:none;background:#0008; }
@media(max-width:360px) {
  html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings input[type="range"] { width:4rem!important; }
}

/* v244: one recording ring; gesture lock replaces the pause slot, not a fourth button. */
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft) .messenger-recording-lock:not([hidden]) {
  inset:auto .4rem 3.55rem auto!important;width:2.5rem!important;height:2.5rem!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft):not(.is-locked):has(.messenger-recording-lock:not([hidden])) .messenger-recording-stop { visibility:hidden!important; }
html:root body.messages-route #messages-root #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage {
  bottom:calc(100% + 5.5rem)!important;
}
html:root body.messages-route #messages-root .messenger-composer.is-recording.has-reply #messenger-recording-panel.is-active.is-video:not(.is-draft) .messenger-recording-video-stage { bottom:calc(100% + 5.5rem)!important; }
html:root body.messages-route #messages-root #messenger-recording-panel .messenger-recording-video {
  border:0!important;outline:0!important;box-shadow:none!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel .messenger-recording-video::before,
html:root body.messages-route #messages-root #messenger-recording-panel .messenger-recording-video::after,
html:root body.messages-route #messages-root #messenger-recording-panel .messenger-recording-video > i { display:none!important; }
html:root body.messages-route #messages-root #messenger-recording-preview { transform:none!important; }

/* Preserve the full screenshot/video; the media bounds have their natural ratio. */
html:root body.messages-route #messages-root .messenger-media-album.is-count-1,
html:root body.messages-route #messages-root .messenger-media-album.is-count-1 .messenger-album-cell { background:transparent!important; }

/* The messenger viewer keeps the branded timeline, even before first Play. */
html:root body .messenger-shared-media-viewer .vmesta-video-player .vmesta-video-controls {
  display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;gap:.35rem!important;
}
html:root body .messenger-shared-media-viewer .vmesta-video-player .vmesta-video-controls :is(.vmesta-video-current,.vmesta-video-duration,.vmesta-video-range) {
  display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
html:root body .messenger-shared-media-viewer .vmesta-video-player .vmesta-video-range { flex:1!important;min-width:2rem!important;width:auto!important; }
@media(max-width:767px) {
  html:root body .messenger-shared-media-viewer .vmesta-video-controls > :is(.vmesta-video-volume,.vmesta-video-settings,.vmesta-video-quality,.vmesta-video-speed) { display:none!important; }
}

/* v245: lightweight editor, one left rail, no backdrop/compositor effects. */
/* v246: recording overlays the input row; right actions must not reserve a blank row. */
html:root body.messages-route #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) {
  grid-template-rows:auto!important;height:3.5rem!important;min-height:3.5rem!important;max-height:3.5rem!important;gap:0!important;
}
html:root body.messages-route #messages-root .messenger-composer.is-recording > #messenger-recording-panel.is-active:not(.is-draft) {
  position:absolute!important;inset:auto 0 0!important;grid-area:auto!important;
  height:3.5rem!important;min-height:3.5rem!important;max-height:3.5rem!important;
  overflow:visible!important;
}
/* Match v240's :has() specificity, otherwise its relative reply still wins. */
html:root body.messages-route #messages-root .messenger-composer.is-recording:has(#messenger-recording-panel.is-active:not(.is-draft)) > .messenger-composer-reply {
  position:absolute!important;inset:auto 3.5rem calc(100% + .4rem) 0!important;grid-area:auto!important;
  width:auto!important;min-height:2.75rem!important;max-height:3.4rem!important;
}
html:root body.messages-route #messages-root #messenger-recording-panel.is-active:not(.is-draft)::before {
  inset:0!important;pointer-events:none!important;height:100%!important;
}
/* The floating latest-message arrow otherwise intersects recording privacy controls. */
html:root body.messages-route #messages-root:has(#messenger-recording-panel.is-active:not(.is-draft)) #messenger-scroll-end {
  visibility:hidden!important;pointer-events:none!important;
}
html:root body #messenger-recording-preview,html:root body .messenger-video-note video {
  transform:none!important;scale:1!important;rotate:0deg!important;
}
/* Single media follows its actual available width, including narrow windows.
   The old fixed pixel height + mobile width override produced letterboxing. */
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album > .messenger-media-album.is-count-1 {
  width:100%!important;aspect-ratio:var(--album-ratio)!important;height:auto!important;
}
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album > .messenger-media-album.is-count-1 .messenger-album-cell {
  background:transparent!important;
}

/* v249: caption and timestamp share the footer instead of two padded rows. */
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album { display:flow-root!important;gap:0!important; }
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album > .messenger-media-album { margin-bottom:.35rem!important; }
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album > p { display:inline!important;margin-top:0!important;margin-bottom:0!important;padding:0!important; }
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album > .messenger-message-meta { display:inline-flex!important;float:right!important;width:auto!important;max-width:calc(100% - .9rem)!important;margin-top:.2rem!important;margin-bottom:0!important;padding:0!important;line-height:1!important; }
/* Keep delivery status inside the bubble, clear of its outgoing tail. */
html:root body.messages-route #messages-root .messenger-message.is-outgoing .messenger-bubble:not(.is-video-note-only):not(.is-video-note-reply):not(.is-sticker-only):not(.is-sticker-reply) > .messenger-message-meta { padding-right:.55rem!important;box-sizing:border-box!important; }
html:root body.messages-route #messages-root .messenger-message .messenger-bubble.has-media-album > .messenger-bubble-bottom { clear:both;margin-top:.35rem!important; }
html:root body .emoji-sticker-grid { contain:layout paint; }
html:root body #vmesta-image-editor .vmesta-image-editor-dialog {
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  box-shadow:none!important;
}
html:root body #vmesta-image-editor :is(.vmesta-image-editor-backdrop,.vmesta-image-editor-head,.vmesta-image-editor-stage-wrap) {
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background-image:none!important;
}
html:root body #vmesta-image-editor .vmesta-image-editor-backdrop { background:rgb(8 15 25/.88)!important; }
html:root body #vmesta-image-editor :is(button,.vmesta-image-editor-stage,.vmesta-image-editor-text-object) { box-shadow:none!important;filter:none!important;transition:none!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-stage-wrap { padding:12px 12px 12px 76px!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-stage-wrap > .vmesta-image-editor-tool-settings {
  position:absolute!important;inset:12px auto 12px 8px!important;transform:none!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  width:52px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;
  gap:6px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;
}
html:root body #vmesta-image-editor .vmesta-image-editor-tool-list { display:flex!important;flex-direction:column!important;gap:4px!important;flex:0 0 auto; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-list button { width:36px!important;height:36px!important;min-height:36px!important;padding:6px!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-list button span { display:none!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-list button svg { width:22px;height:22px;fill:currentColor; }
html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings :is(.vmesta-image-editor-range,.vmesta-image-editor-zoom:not(.hidden)) {
  flex-direction:column!important;flex:0 0 auto;min-width:0!important;width:48px!important;gap:4px!important;padding:0!important;
}
html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings input[type="range"] {
  writing-mode:vertical-lr!important;direction:rtl!important;width:26px!important;height:88px!important;
}
html:root body #vmesta-image-editor .vmesta-image-editor-tool-settings .vmesta-image-editor-palette:not(.hidden) {
  position:static!important;display:grid!important;grid-template-columns:repeat(2,22px)!important;width:48px!important;min-width:0!important;padding:0!important;gap:2px!important;transform:none!important;box-shadow:none!important;
}
html:root body #vmesta-image-editor .vmesta-image-editor-palette button { width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important; }
html:root body #vmesta-image-editor .vmesta-image-editor-palette label { grid-column:1 / -1;min-width:0; }
html:root body #vmesta-image-editor .vmesta-image-editor-palette input { width:46px!important;min-width:0!important;padding:2px!important;font-size:9px!important; }

/* Consolidated source: v230-fixes.css */
/* v230: one profile shell, presence pulse and call-bubble geometry. */
html:root body .spaces-top-panel > .spaces-top-limits { margin-top:.7rem!important; margin-bottom:.85rem!important; }
html:root body .spaces-top-panel > .spaces-top-search-panel { margin-bottom:.2rem!important; }

html:root body #mobile-profile-online > .mobile-profile-presence-dot::after,
html:root body #user-online-status .online-dot.is-online::after { content:none!important; display:none!important; animation:none!important; }
html:root body #mobile-profile-online > .mobile-profile-presence-dot {
  width:.875rem!important;height:.875rem!important;min-width:.875rem!important;flex:0 0 .875rem!important;
  display:grid!important;place-items:center!important;border:2px solid var(--mobile-profile-panel,#fff)!important;
  box-shadow:0 0 0 1px rgb(15 23 42/.06)!important;background:transparent!important;overflow:visible!important;
}
html:root body #mobile-profile-online .online-dot-core { width:.625rem;height:.625rem; }
html:root body #mobile-profile-online .is-online > .online-dot-core { background:#22c55e!important; }
html:root body #mobile-profile-online .is-online > .online-dot-pulse,
html:root body #user-online-status .is-online > .online-dot-pulse {
  position:absolute!important;inset:-.1875rem!important;border:0!important;border-radius:50%!important;
  background:rgb(74 222 128/.56)!important;animation:unified-online-pulse 1.8s cubic-bezier(.2,.65,.35,1) infinite!important;
}
html:root body #mobile-profile-online .is-offline > .online-dot-pulse { display:none!important; }
html:root body #mobile-profile-friends-list > button { box-sizing:border-box!important;border:2px solid color-mix(in srgb,var(--color-dynamic,#3775ca) 48%,var(--mobile-profile-panel,#fff))!important;border-radius:.85rem!important;background:var(--mobile-profile-soft,#edf2f8)!important;padding:2px!important;overflow:visible!important; }
html:root body #mobile-profile-friends-list > button img { border-radius:.65rem!important;box-shadow:none!important; }

html:root body #messages-root #messenger-message-stream .messenger-message.messenger-call-history,
html:root body #messages-root .messenger-message.messenger-call-history {
  display:flex!important;flex-direction:row!important;align-self:stretch!important;align-items:center!important;
  width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  margin-left:0!important;margin-right:0!important;padding-left:.6rem!important;padding-right:.6rem!important;
}
html:root body #messages-root .messenger-message.messenger-call-history.is-outgoing { justify-content:flex-end!important; }
html:root body #messages-root .messenger-message.messenger-call-history.is-incoming { justify-content:flex-start!important; }
html:root body #messages-root .messenger-message.messenger-call-history.is-outgoing > .messenger-call-history-card { margin-left:auto!important;margin-right:0!important; }
html:root body #messages-root .messenger-message.messenger-call-history.is-incoming > .messenger-call-history-card { margin-left:0!important;margin-right:auto!important; }
html:root body.messages-route #messages-root .messenger-message.messenger-call-history > .messenger-call-history-card::after { content:none!important;display:none!important;clip-path:none!important; }
html:root body.messages-route #messages-root .messenger-message.messenger-call-history.has-tail > .messenger-call-history-card > svg.messenger-bubble-tail {
  display:block!important;position:absolute!important;inset:auto!important;bottom:0!important;width:.82rem!important;height:.98rem!important;
  overflow:visible!important;clip-path:none!important;border:0!important;filter:none!important;z-index:2!important;
  color:var(--message-shape-fill)!important;
}
html:root body.messages-route #messages-root .messenger-message.messenger-call-history.has-tail.is-outgoing > .messenger-call-history-card > svg.messenger-bubble-tail { right:-.4rem!important;left:auto!important;transform:none!important; }
html:root body.messages-route #messages-root .messenger-message.messenger-call-history.has-tail.is-incoming > .messenger-call-history-card > svg.messenger-bubble-tail { left:-.4rem!important;right:auto!important;transform:scaleX(-1)!important; }
html:root body #messages-root .messenger-call-history-card .messenger-bubble-tail-fill { fill:var(--message-shape-fill)!important;stroke:none!important; }

html:root body #vmesta-call-layer.is-ended .vmesta-call-card { overflow:hidden!important;isolation:isolate;contain:paint;border-radius:1.6rem!important; }
html:root body #vmesta-call-layer.is-ended .vmesta-call-card::before { display:none!important; }
html:root body #vmesta-call-layer.is-ended .vmesta-call-hangup-handset { filter:none!important;will-change:transform,opacity;animation:vmesta-handset-settle-v230 .95s cubic-bezier(.18,.82,.22,1) both!important; }
html:root body #vmesta-call-layer.is-ended .vmesta-call-hangup-cradle { animation:vmesta-cradle-ready .2s .55s ease both!important; }
html:root body #vmesta-call-layer.is-ended .vmesta-call-hangup-impact { animation:vmesta-call-impact .25s .75s ease-out both!important; }
html:root body #vmesta-call-layer.is-ended .vmesta-call-radio-wave { animation:vmesta-call-wave .8s ease-out both!important; }
@keyframes vmesta-handset-settle-v230 { 0% { opacity:0;transform:translate3d(0,-.9rem,0) rotate(-12deg); } 20% { opacity:1; } 75% { transform:translate3d(0,.12rem,0) rotate(2deg); } 100% { opacity:1;transform:translate3d(0,0,0) rotate(0); } }

html:root body #signals-journal [data-signal-grid="gifts"] { display:block!important; }
html:root body #signals-journal .signal-gifts-panel { min-width:0;border-radius:1.1rem;background:var(--theme-surface-panel,var(--adaptive-panel-bg,#fff));padding:.8rem; }
html:root body #signals-journal .signal-gifts-panel .gift-center-tabs { position:static!important;display:flex;gap:.55rem;padding:0 0 .8rem; }
html:root body #signals-journal .signal-gifts-panel .gift-center-tabs button { min-height:2.5rem;display:flex;align-items:center;gap:.4rem;padding:.55rem .85rem;border-radius:.85rem; }
html:root body #signals-journal .signal-gifts-panel .gift-center-tabs svg { width:1.2rem;height:1.2rem; }
html:root body #signals-journal .signal-gifts-content { min-height:12rem; }
html:root body #signals-journal .gift-history-item { width:100%;box-sizing:border-box; }
@media(max-width:767px) {
  html:root body.mobile-profile-main-route #vmesta-cover-skeleton .vmesta-cover-skeleton-copy,
  html:root body.mobile-profile-main-route #vmesta-cover-skeleton .vmesta-cover-skeleton-inner::before,
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body #vmesta-cover-skeleton .vmesta-cover-skeleton-copy,
  html.vmesta-initial-loading[data-vmesta-boot-view="profile"] body #vmesta-cover-skeleton .vmesta-cover-skeleton-inner::before { display:none!important; }
  html:not(.vmesta-initial-loading) body.mobile-profile-main-route #vmesta-cover-skeleton { display:none!important; }
  html:root body.mobile-profile-main-route.space-route #cover-section #user-info-group,
  html:root body.mobile-profile-main-route.space-route #mobile-cover-avatar { display:none!important; }
  html:root body #mobile-profile-friends-list > button { height:auto!important;aspect-ratio:1; }
}
@media(prefers-reduced-motion:reduce) {
  html:root body #mobile-profile-online .online-dot-pulse,
  html:root body #user-online-status .online-dot-pulse,
  html:root body #vmesta-call-layer.is-ended :is(.vmesta-call-hangup-handset,.vmesta-call-hangup-cradle,.vmesta-call-hangup-impact,.vmesta-call-radio-wave) { animation:none!important; }
}

/* Consolidated source: v231-fixes.css */
/* v231: catalog/detail isolation, standalone exact search, connected call tails. */
html:root body.spaces-catalog-route #mobile-profile-overview,
html:root body.spaces-catalog-route #cover-section,
html:root body.spaces-catalog-route #profile-tabs-container { display:none!important; }
html:root body #spaces-index-empty.hidden,
html:root body .spaces-index-grid > .spaces-index-card.hidden { display:none!important; }
html:root body.spaces-catalog-route .spaces-top-panel .spaces-top-limits,
html:root body.spaces-catalog-route #mobile-spaces-sections .spaces-top-panel .spaces-top-limits {
  margin-top:1rem!important;margin-bottom:1rem!important;
}
html:root body.spaces-catalog-route .spaces-top-panel .spaces-top-search { margin-top:.75rem!important; }
html:root body .space-exact-search-overlay {
  position:fixed;inset:0;z-index:100001;display:grid;place-items:center;
  padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));
  background:rgb(0 0 0/.55);overflow:auto;
}
html:root body #space-exact-search-dialog .spaces-index-filter-panel {
  position:relative!important;inset:auto!important;transform:none!important;
  display:block!important;width:min(100%,38rem)!important;max-height:calc(100dvh - 2rem);
  height:auto!important;min-height:0!important;
  overflow:auto;margin:0!important;box-sizing:border-box;padding:1.25rem;border-radius:1.4rem;
  background:var(--theme-surface-panel,var(--adaptive-surface,#fff));color:var(--adaptive-text,var(--text-color,#172033));
  box-shadow:0 1.5rem 5rem rgb(0 0 0/.25);
}
html:root body #space-exact-search-dialog .spaces-index-filter-fields { gap:1rem!important; }
html:root body #space-exact-search-dialog header { margin-bottom:1.25rem!important; }
html:root body #space-exact-search-dialog footer { margin-top:1.5rem!important;gap:.75rem!important; }
html:root body .space-profile-identity { text-align:center;padding:1.5rem;background:var(--theme-surface-panel,var(--adaptive-surface,#fff));border-radius:1.5rem;margin-bottom:1rem; }
html:root body .space-profile-identity img { width:9rem;height:9rem;object-fit:cover;border-radius:1.75rem;margin:auto;border:3px solid var(--color-dynamic,#3775ca); }
html:root body .space-profile-identity h1 { font-size:2rem;font-weight:900;margin-top:.75rem; }
html:root body .space-profile-identity p { margin:.75rem 0; }
html:root body #space-profile-actions-host #space-left-actions { display:grid!important;margin:0 0 1rem!important; }
html:root body.space-route #profile-left-rail .upload-avatar-btn,
html:root body.space-route #cover-section #user-info-group { display:none!important; }
html:root body .space-profile-facts { display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1rem; }
html:root body .space-profile-tools { display:flex;justify-content:center;gap:1rem;grid-column:1/-1;padding:.75rem; }
html:root body .space-profile-audience { margin-bottom:1rem;padding:1rem;border-radius:1rem;background:var(--theme-surface-panel,var(--adaptive-surface,#fff)); }
html:root body #messages-root .messenger-call-history-card::before,
html:root body #messages-root .messenger-call-history-card::after { content:none!important;display:none!important; }
html:root body #messages-root .messenger-call-history.is-outgoing.has-tail > .messenger-call-history-card { border-bottom-right-radius:.25rem!important; }
html:root body #messages-root .messenger-call-history.is-incoming.has-tail > .messenger-call-history-card { border-bottom-left-radius:.25rem!important; }
html:root body #messages-root .messenger-call-history.has-tail > .messenger-call-history-card > svg.messenger-bubble-tail { bottom:0!important;overflow:visible!important; }
@media(max-width:767px) {
  html:root body .space-profile-identity { display:none!important; }
  html:root body.mobile-section-without-profile-head #cover-section,
  html:root body.mobile-section-without-profile-head #mobile-profile-overview { display:none!important; }
  html:root body #space-exact-search-dialog .spaces-index-filter-panel { max-height:calc(100dvh - 2rem); }
}

/* Consolidated source: v232-fixes.css */
/* v232: URL-owned shell and actions/audience belonging to the open space. */
html:root[data-vmesta-route-shell="spaces"] body #mobile-profile-overview,
html:root[data-vmesta-route-shell="spaces"] body #cover-section,
html:root[data-vmesta-route-shell="spaces"] body #profile-tabs-container { display:none!important; }
html:root body.space-route #friend-actions-container,
html:root body.space-route #profile-safety-menu,
html:root body.space-route #btn-tab-my { display:none!important; }
html:root[data-vmesta-route-shell="space"] body #cover-section #user-info-group,
html:root[data-vmesta-route-shell="space"] body #mobile-cover-avatar { visibility:hidden!important;pointer-events:none!important; }
html:root body #space-profile-avatar-wrap { position:relative;width:9rem;margin:auto; }
html:root body #space-profile-subscribers { padding:1rem;border-radius:1.2rem;background:var(--theme-surface-control,var(--adaptive-surface-2,#eef3f9));text-align:left; }
html:root body #space-profile-subscribers header,
html:root body #space-profile-subscribers header > span,
html:root body #space-profile-subscribers .mobile-profile-friends-row { display:flex;align-items:center;gap:.6rem;justify-content:space-between; }
html:root body #space-profile-subscribers header > span { justify-content:flex-start; }
html:root body #space-profile-subscribers header { margin-bottom:.75rem; }
html:root body #space-profile-subscribers svg { width:1.2rem;height:1.2rem;fill:none;stroke:var(--color-dynamic,#3775ca);stroke-width:2; }
html:root body #space-profile-subscribers header > b { padding:.4rem .7rem;border-radius:999px;color:var(--color-dynamic,#3775ca);background:color-mix(in srgb,var(--color-dynamic,#3775ca) 12%,transparent); }
html:root body #space-profile-subscribers .mobile-profile-friends-list { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));flex:1 1 0;width:min(100%,30rem);max-width:30rem;gap:.55rem;min-width:0; }
html:root body #space-profile-subscribers .space-audience-person { position:relative;display:block;width:100%;max-width:6rem;height:auto;aspect-ratio:1;min-width:0;padding:2px;border:2px solid color-mix(in srgb,var(--color-dynamic,#3775ca) 50%,transparent);border-radius:.9rem; }
html:root body #space-profile-subscribers .space-audience-person img { width:100%;height:100%;object-fit:cover;border:0;border-radius:.65rem; }
html:root body #space-profile-subscribers .user-online-dot { position:absolute;right:-3px;bottom:-3px;width:.8rem;height:.8rem; }
html:root body #space-profile-subscribers .mobile-profile-all-friends { display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--color-dynamic,#3775ca); }
html:root body #space-profile-subscribers .mobile-profile-friends-empty { color:var(--adaptive-text-muted,#718096);font-size:.8rem; }
@media(min-width:768px) and (max-width:1100px) {
  html:root body #space-profile-subscribers .mobile-profile-friends-row { display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem; }
  html:root body #space-profile-subscribers .mobile-profile-friends-list { width:100%;max-width:none; }
  html:root body #space-profile-subscribers .mobile-profile-all-friends { justify-self:end; }
}
html:root body.space-route #space-left-actions { display:grid!important;grid-template-columns:minmax(0,1fr) 3rem!important;gap:.6rem!important;margin:0!important;width:100%; }
html:root body.space-route #space-left-actions .space-subscribe-split { width:3rem!important;height:3rem!important;min-width:0!important;padding:0!important; }
html:root body.space-route #space-left-actions .space-left-subscribe { display:grid!important;place-items:center!important;width:3rem!important;height:3rem!important;min-height:3rem!important;padding:.8rem!important;border-radius:1rem!important; }
html:root body.space-route #space-left-actions .space-left-subscribe svg { width:1.4rem;height:1.4rem; }
html:root body.space-route #space-left-actions .space-left-message { min-width:0!important;height:3rem!important;min-height:3rem!important;margin:0!important; }
html:root body.space-route #space-left-actions .space-profile-tools { grid-column:1 / -1; }
html:root body.space-route #space-profile-actions-host { margin:.9rem 0; }
html:root body.space-route .space-profile-tools { padding:.25rem 0!important;font-size:.75rem; }
@media(max-width:767px) {
  html:root[data-vmesta-route-shell="section"] body #mobile-profile-overview,
  html:root[data-vmesta-route-shell="section"] body #cover-section,
  html:root[data-vmesta-route-shell="section"] body #profile-tabs-container { display:none!important; }
  html:root[data-vmesta-route-shell="space"] body #mobile-profile-overview:not([data-profile-scope="space"]) { display:none!important; }
  html:root body.space-route #mobile-profile-actions-slot { width:100%; }
  html:root body.space-route #mobile-profile-actions-slot .space-left-message,
  html:root body.space-route #mobile-profile-actions-slot .space-subscribe-split { min-height:3rem;border-radius:1rem; }
  html:root body.space-route #mobile-profile-actions-slot .space-left-message { background:linear-gradient(105deg,var(--color-dynamic,#3775ca),color-mix(in srgb,var(--color-dynamic,#3775ca) 58%,#f084b1))!important;color:#fff; }
  html:root body.space-route #mobile-profile-actions-slot .space-left-message svg { width:1.1rem;height:1.1rem; }
  html:root body.space-route .mobile-profile-friends-row { min-height:2.8rem; }
  html:root body.space-route #mobile-profile-friends-list { display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;flex:1 1 0!important;gap:.28rem!important;width:min(100%,13.6rem)!important;min-width:0!important; }
  html:root body.space-route #mobile-profile-friends-list .space-audience-person { width:100%!important;height:auto!important;aspect-ratio:1!important;min-width:0!important;box-sizing:border-box!important;padding:2px!important;border:2px solid color-mix(in srgb,var(--color-dynamic,#3775ca) 50%,transparent)!important;border-radius:.78rem!important; }
}
/* Subscriber totals belong to the audience card, not the action button. */
html:root body.space-route .space-subscribe-split { grid-template-columns:minmax(0,1fr)!important; }
html:root body.space-route .space-left-subscribe { width:100%; }

/* Keep decorative pulses off the capture pipeline. Camera/video and
   recorder feedback are deliberately excluded from this pause. */
html:root body.messenger-recording-active .online-dot-pulse,
html:root body.messenger-recording-active .vmesta-cover-skeleton::after,
html:root body.messenger-recording-active .vmesta-profile-skeleton::after { animation-play-state:paused!important; }

/* Space gifts use the same bounded cards in the modal and signal journal. */
html:root body .gift-space-history,
html:root body .signal-gifts-panel {
  padding:1rem;border-radius:1.2rem;border:1px solid color-mix(in srgb,var(--color-dynamic,#3775ca) 18%,transparent);
  background:var(--adaptive-surface,var(--theme-surface-panel,#182638));min-width:0;
}
html:root body .signal-gifts-panel .gift-history-item {
  border-radius:1rem;padding:1rem;background:var(--adaptive-surface-muted,var(--theme-surface-panel,#223248));
}
html:root body .gift-space-origin { display:block;margin:.35rem 0;color:var(--color-dynamic,#3775ca);font-size:.8rem;font-weight:700;overflow-wrap:anywhere;letter-spacing:normal;text-transform:none; }
html:root body .gift-space-history .gift-center-tabs { flex-wrap:wrap;gap:.4rem;border-radius:.85rem;margin-bottom:1rem; }
html:root body .gift-history-head p { color:inherit!important;opacity:.7!important; }
html:root body .gift-space-history .gift-history-head { display:block; }
html:root body .gift-space-history .gift-history-person i { white-space:normal;overflow:visible;text-overflow:clip; }
html:root body #gift-center-modal .gift-center-tabs { flex-wrap:wrap;gap:.35rem; }
html:root body .signal-gifts-panel > .gift-center-tabs { display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:.35rem; }
html:root body .signal-gifts-panel > .gift-center-tabs button { flex:0 1 auto!important;min-width:0!important;margin-left:0!important; }
html:root body #friends-viewport .friend-row-action { display:flex;align-items:center;justify-content:center;width:2.15rem;min-width:2.15rem;padding:0; }
html:root body #friends-viewport .friend-row-action svg { display:block;flex:0 0 1rem;width:1rem;height:1rem; }
html:root body .messenger-shared-media-viewer .vmesta-video-player { width:min(100%,46rem);max-height:80vh; }
html:root body .messenger-shared-media-viewer .vmesta-video-player video { max-height:72vh;object-fit:contain; }
@media(max-width:480px) {
  html:root body .gift-space-history,html:root body .signal-gifts-panel { padding:.65rem; }
  html:root body .signal-gifts-panel .gift-history-item { padding:.7rem; }
}


/* VMESTA local monitoring: theme-native surfaces, no blur/animated chrome. */
.vmesta-monitoring{position:fixed;inset:0;z-index:100100;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--theme-text-primary,#245595)}
.vmesta-monitoring.hidden{display:none!important}
.vmesta-monitoring-backdrop{position:absolute;inset:0;border:0;background:rgba(12,21,38,.48);cursor:pointer}
.vmesta-monitoring-panel{position:relative;display:flex;flex-direction:column;width:min(940px,100%);max-height:calc(100dvh - 40px);min-height:0;border-radius:26px;background:var(--theme-surface-panel,#fff);box-shadow:0 12px 36px #07182d33;overflow:hidden}
.vmesta-monitoring-head{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid color-mix(in srgb,var(--theme-text-muted,#7890ac) 18%,transparent);flex-shrink:0}
.vmesta-monitoring-icon,.vmesta-monitoring-close{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:16px;color:var(--theme-accent,#b17b55);background:color-mix(in srgb,var(--theme-accent,#b17b55) 13%,var(--theme-surface-panel,#fff))}
.vmesta-monitoring-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vmesta-monitoring-head small{display:block;font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--theme-text-muted,#7890ac)}
.vmesta-monitoring-head h2{margin:3px 0 0;font-size:23px;font-weight:800;line-height:1.2}
.vmesta-monitoring-close{margin-left:auto;flex-shrink:0;cursor:pointer;font-size:28px}
.vmesta-monitoring-body{padding:18px 22px 22px;overflow:auto;overscroll-behavior:contain;min-height:0}
.vmesta-monitoring-status{font-size:12px;font-weight:700;overflow-wrap:anywhere;margin-bottom:14px}
.vmesta-monitoring-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.vmesta-monitoring-metrics article{padding:13px;border-radius:17px;background:color-mix(in srgb,var(--theme-accent,#b17b55) 9%,var(--theme-surface-panel,#fff));min-width:0}
.vmesta-monitoring-metrics small,.vmesta-monitoring-metrics strong,.vmesta-monitoring-metrics span{display:block}
.vmesta-monitoring-metrics small{font-size:11px;font-weight:700;color:var(--theme-text-muted,#7890ac)}
.vmesta-monitoring-metrics strong{font-size:22px;margin:5px 0;font-weight:800}
.vmesta-monitoring-metrics span{font-size:10px;overflow-wrap:anywhere}
.vmesta-monitoring-hint,.vmesta-monitoring-footnote{font-size:11px;line-height:1.5;color:var(--theme-text-muted,#7890ac)}
.vmesta-monitoring-actions{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}
.vmesta-monitoring-actions button{border:0;border-radius:13px;padding:10px 13px;background:color-mix(in srgb,var(--theme-accent,#b17b55) 13%,var(--theme-surface-panel,#fff));color:var(--theme-text-primary,#245595);font-size:12px;font-weight:700;cursor:pointer;min-height:40px}
#vmesta-monitoring-export{background:var(--theme-accent,#b17b55);color:#fff}
.vmesta-monitoring-filters{display:grid;grid-template-columns:1fr 1.2fr .7fr 1.4fr;gap:9px;margin:12px 0}
.vmesta-monitoring-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700;min-width:0}
.vmesta-monitoring-filters select,.vmesta-monitoring-filters input{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--theme-text-muted,#7890ac) 18%,transparent);border-radius:12px;padding:10px;background:var(--theme-surface-panel,#fff);color:var(--theme-text-primary,#245595);font:inherit;min-height:40px}
.vmesta-monitoring-filters option{background:var(--theme-surface-panel,#fff);color:var(--theme-text-primary,#245595)}
.vmesta-monitoring :is(button,input,select,summary):focus-visible{outline:2px solid var(--theme-accent,#b17b55)!important;outline-offset:2px}
.vmesta-monitoring-list-caption{font-size:11px;color:var(--theme-text-muted,#7890ac);margin:12px 0 8px}
.vmesta-monitoring-events{display:grid;gap:7px;max-height:350px;overflow:auto;overscroll-behavior:contain}
.vmesta-monitoring-event{border-radius:15px;padding:11px 13px;background:color-mix(in srgb,var(--theme-text-muted,#7890ac) 9%,var(--theme-surface-panel,#fff));border-left:3px solid var(--theme-accent,#b17b55)}
.vmesta-monitoring-event[data-kind="errors"]{border-left-color:#f04b65}
.vmesta-monitoring-event[data-kind="stalls"]{border-left-color:#db9a3e}
.vmesta-monitoring-event>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px}
.vmesta-monitoring-event time{font-size:10px;color:var(--theme-text-muted,#7890ac)}
.vmesta-monitoring-event b{margin-left:auto;font-size:11px}
.vmesta-monitoring-event p{font-size:11px;line-height:1.5;margin:6px 0 0;overflow-wrap:anywhere}
.vmesta-monitoring-empty{text-align:center;padding:24px;font-size:12px;background:color-mix(in srgb,var(--theme-accent,#b17b55) 8%,var(--theme-surface-panel,#fff));border-radius:16px}
.vmesta-monitoring-components{margin:13px 0;border-radius:15px;background:color-mix(in srgb,var(--theme-accent,#b17b55) 8%,var(--theme-surface-panel,#fff));padding:11px 13px;font-size:12px}
.vmesta-monitoring-components summary{cursor:pointer;font-weight:700}
.vmesta-monitoring-components div>div{margin-top:10px}
.vmesta-monitoring-components code{display:block;overflow-wrap:anywhere;font-size:10px;line-height:1.5;margin-top:4px}
.vmesta-monitoring-footnote{display:block;margin-top:12px}
@media(max-width:767px){.vmesta-monitoring{padding:10px;padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.vmesta-monitoring-panel{border-radius:22px;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.vmesta-monitoring-head{padding:14px;gap:10px}.vmesta-monitoring-head h2{font-size:21px}.vmesta-monitoring-body{padding:14px}.vmesta-monitoring-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.vmesta-monitoring-metrics article:last-child{grid-column:1/-1}.vmesta-monitoring-filters{grid-template-columns:1fr 1fr}.vmesta-monitoring-search{grid-column:1/-1}.vmesta-monitoring-actions button{flex:1}.vmesta-monitoring-events{max-height:320px}}


/* v252: scoped layout; preserve the consolidated v251 cascade above. */
html:root body #vmesta-monitoring-modal .vmesta-monitoring-head{display:grid!important;grid-template-columns:46px minmax(0,1fr)46px!important;width:100%!important;box-sizing:border-box;gap:14px!important}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-head>div{min-width:0!important}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-close{position:static!important;justify-self:end!important;margin:0!important;width:46px!important;height:46px!important;display:grid!important;place-items:center!important;line-height:1!important}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;border-radius:17px;background:var(--theme-surface-control,#f4eeea);margin-bottom:14px}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-tabs button{border:0;border-radius:12px;min-height:42px;padding:9px;color:var(--theme-text-muted,#7890ac);font-size:13px;font-weight:700;background:transparent;cursor:pointer;white-space:normal}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-tabs button[aria-selected=true]{background:var(--theme-accent,#b17b55);color:white}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-explanation{font-size:12px;line-height:1.55;color:var(--theme-text-primary,#245595);padding:11px 13px;border-radius:13px;background:var(--theme-surface-control,#f4eeea)}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-server-controls:not(.hidden){display:grid;gap:8px;margin-bottom:14px}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-server-controls label{display:grid;gap:6px;font-size:12px;font-weight:700}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-server-controls select{width:100%;border-radius:12px;border:1px solid var(--theme-border,#e5e7eb);padding:10px;background:var(--theme-surface-panel,#fff);color:var(--theme-text-primary,#245595)}
html:root body #vmesta-monitoring-modal .vmesta-monitoring-server-controls small{color:var(--theme-text-muted,#7890ac);font-size:11px;line-height:1.5}
html:root body #gift-center-modal .gift-center-dialog{display:flex!important;flex-direction:column!important;width:min(920px,100%)!important;height:min(760px,calc(100dvh - 40px))!important;max-height:calc(100dvh - 40px)!important;overflow:hidden!important;background:var(--theme-surface-panel,#fff)!important;border-radius:26px!important}
html:root body #gift-center-modal .gift-center-head{padding:24px 76px 15px 24px!important;gap:14px!important;flex-shrink:0;background:none!important}
html:root body #gift-center-modal .gift-center-head h2{font-size:24px!important;line-height:1.25!important;color:var(--theme-text-primary,#245595)!important}
html:root body #gift-center-modal .gift-center-head p{font-size:12px!important;line-height:1.5!important;color:var(--theme-text-muted,#7890ac)!important}
html:root body #gift-center-modal .gift-center-close{top:18px!important;right:18px!important;width:42px!important;height:42px!important;background:var(--theme-surface-control,#f4eeea)!important;color:var(--theme-text-primary,#245595)!important;z-index:2}
html:root body :is(#gift-center-modal,.signal-gifts-panel) :is(.gift-center-tabs,.gift-center-scope){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;width:auto!important;flex-shrink:0;box-sizing:border-box;background:transparent!important}
html:root body #gift-center-modal .gift-center-tabs{margin:0 24px!important;padding:5px!important;border-radius:16px;background:var(--theme-surface-control,#f4eeea)!important}
html:root body #gift-center-modal .gift-center-scope{margin:8px 24px 14px!important;padding:0!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) :is(.gift-center-tabs,.gift-center-scope) button{width:100%!important;min-width:0!important;min-height:42px!important;padding:10px 8px!important;margin:0!important;border:0!important;border-radius:12px!important;font-size:12px!important;line-height:1.35!important;font-weight:700!important;white-space:normal!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;background:var(--theme-surface-control,#f4eeea)!important;color:var(--theme-text-muted,#7890ac)!important;cursor:pointer}
html:root body :is(#gift-center-modal,.signal-gifts-panel) :is(.gift-center-tabs,.gift-center-scope) button.is-active{background:var(--theme-accent,#b17b55)!important;color:#fff!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) :is(.gift-center-tabs,.gift-center-scope) svg{width:18px!important;height:18px!important;flex-shrink:0}
html:root body #gift-center-modal .gift-center-content{flex:1!important;min-height:0!important;overflow:auto!important;padding:20px 24px!important;border-top:1px solid var(--theme-border,#e5e7eb)!important;background:var(--theme-surface-panel,#fff)!important;overscroll-behavior:contain}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-head{display:block!important;padding:0!important;margin:0 0 18px!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-head h3{font-size:19px!important;line-height:1.35!important;color:var(--theme-text-primary,#245595)!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-head p{font-size:12px!important;line-height:1.5!important;margin-top:6px!important;color:var(--theme-text-muted,#7890ac)!important}
html:root body #signals-journal .signal-gifts-panel :is(.gift-center-tabs,.gift-center-scope){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-copy>strong{font-size:14px!important;line-height:1.4!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-person{font-size:11px!important;line-height:1.4!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-copy time{font-size:10px!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-empty-state{min-height:260px!important;height:auto!important;padding:32px 10px!important;background:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:16px!important;color:var(--theme-text-primary,#245595)!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-empty-state>span{background:var(--theme-surface-control,#f4eeea)!important;color:var(--theme-accent,#b17b55)!important;width:70px!important;height:70px!important;border-radius:22px!important}
html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-empty-state svg{width:36px!important;height:36px!important}
html:root body .signal-gifts-panel{padding:0!important;background:transparent!important;min-width:0}
html:root body .signal-gifts-panel .gift-center-tabs{padding:5px!important;margin:0 0 8px!important;border-radius:16px;background:var(--theme-surface-control,#f4eeea)!important}
html:root body .signal-gifts-panel .gift-center-scope{margin:0 0 16px!important}
html:root body .signal-gifts-content{min-height:360px!important;padding:16px 0!important}
html:root body .vmesta-loading-state:not(.is-error){width:100%!important;min-height:clamp(180px,42dvh,420px)!important;box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;background:transparent!important;position:relative!important;padding:24px!important;gap:0!important}
html:root body #gift-center-content>.vmesta-loading-state:not(.is-error){height:100%!important;min-height:180px!important}
html:root body .vmesta-loading-clock{display:grid;place-items:center;width:70px;height:70px;border-radius:23px;background:var(--theme-surface-control,#f4eeea);color:var(--theme-accent,#b17b55)}
html:root body .vmesta-loading-clock svg{width:48px!important;height:48px!important;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
html:root body .vmesta-loading-state:not(.is-error) .vmesta-loading-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html:root body .vmesta-loading-state:not(.is-error) .vmesta-loading-clock-hand{transform-origin:24px 24px;animation:vmesta-clock-turn 6s linear infinite}
@keyframes vmesta-clock-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){html:root body .vmesta-loading-clock-hand{animation:none!important}}
@media(max-width:767px){
 html:root body #vmesta-monitoring-modal .vmesta-monitoring-head{gap:9px!important;grid-template-columns:42px minmax(0,1fr)42px!important}
 html:root body #vmesta-monitoring-modal .vmesta-monitoring-close{width:42px!important;height:42px!important}
 html:root body #gift-center-modal{padding:10px!important;padding-top:max(10px,env(safe-area-inset-top))!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
 html:root body #gift-center-modal .gift-center-dialog{width:100%!important;height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;border-radius:22px!important}
 html:root body #gift-center-modal .gift-center-head{padding:18px 62px 13px 16px!important;gap:10px!important}
 html:root body #gift-center-modal .gift-center-head>span{width:40px!important;height:40px!important;flex-shrink:0}
 html:root body #gift-center-modal .gift-center-head h2{font-size:21px!important}
 html:root body #gift-center-modal .gift-center-head p{display:none!important}
 html:root body #gift-center-modal .gift-center-close{top:15px!important;right:15px!important}
 html:root body #gift-center-modal .gift-center-tabs{margin:0 16px!important}
 html:root body #gift-center-modal .gift-center-scope{margin:8px 16px 12px!important}
 html:root body #gift-center-modal .gift-center-content{padding:17px 16px!important}
 html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-item{min-width:0!important;grid-template-columns:70px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
 html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-status{grid-column:2!important;justify-self:start!important;max-width:100%!important;white-space:normal!important}
 html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-art{width:70px!important;height:70px!important}
 html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-history-copy{min-width:0!important;overflow-wrap:anywhere}
 html:root body :is(#gift-center-modal,.signal-gifts-panel) .gift-empty-state{min-height:220px!important}
}
