/* Support chat (components/support-chat.js): the round launcher at the bottom right and the chat panel.
   Desktop / tablet: the panel floats in the corner the launcher sits in (native modal <dialog>, light veil behind).
   Phones (< 600px): the panel takes the whole screen. Flat CSS. Pictures (operators, the SA mark) are illustrations
   from assets/support/avatars, always round. */

.support-launcher,
.support-chat { --support-online: #1E9F57; }   /* «в сети» dots: brighter than --success (a text colour) */

.support-ava {
  display: block;
  flex: none;
  border-radius: 50%;
  background: var(--surface-sunken);
  object-fit: cover;
  user-select: none;
}

/* ---------------------------------------------------------------- launcher */
.support-launcher {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 59;                 /* under the top bar (60), the drawer (80), toasts (100) and dialogs */
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--accent);
  color: #FFFFFF;
  /* a thin white ring keeps the button distinct over the blue parts of the pages (home hero, product art) */
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, .92),
    0 1px 2px 2px rgba(25, 27, 32, .10),
    0 12px 24px -8px rgba(31, 86, 189, .6);
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--dur-fast) var(--ease-out),
    transform var(--dur-fast) var(--ease-out),
    box-shadow var(--dur-fast) var(--ease-out);
}
.support-launcher:hover {
  background: var(--accent-strong);
  transform: translateY(-2px);
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, .92),
    0 2px 4px 2px rgba(25, 27, 32, .10),
    0 16px 28px -8px rgba(31, 86, 189, .66);
}
.support-launcher:active { background: var(--accent-press); transform: none; }
.support-launcher:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4.5px var(--accent-press), 0 12px 24px -8px rgba(31, 86, 189, .6);
}
.support-launcher svg { width: 26px; height: 26px; }
.support-launcher[aria-expanded='true'] { visibility: hidden; }
.support-launcher__badge {
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 11px;
  background: var(--danger);
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 2px var(--bg);
}
.support-launcher.has-unread .support-launcher__badge { animation: support-badge-in 320ms var(--ease-out); }
@keyframes support-badge-in { from { transform: scale(.4); opacity: 0; } }
/* an operator is in the panel right now */
.support-launcher__dot {
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--support-online);
  box-shadow: 0 0 0 2.5px #FFFFFF;
}
.support-launcher__dot[hidden] { display: none; }

/* The launcher shares the bottom-right corner: page toasts line up beside it (desktop) or above it (phones),
   the footer keeps its last line clear of it. */
body:has(> .support-launcher) .toast-region:not(.toast-region--dialog) { right: 96px; }
body:has(> .support-launcher) .site-footer__legal { padding-right: 72px; }

/* ---------------------------------------------------------------- panel */
.support-chat {
  position: fixed;
  inset: auto 24px 24px auto;
  width: 396px;
  height: min(660px, calc(100vh - 48px));
  height: min(660px, calc(100dvh - 48px));
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 48px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--ink);
  box-shadow:
    0 0 0 1px rgba(25, 27, 32, .06),
    0 4px 8px rgba(25, 27, 32, .06),
    0 32px 64px -20px rgba(25, 27, 32, .34);
  overflow: hidden;
  flex-direction: column;
  transform-origin: calc(100% - 28px) calc(100% - 28px);   /* grows out of the launcher */
}
.support-chat[open] { display: flex; animation: support-in 280ms var(--ease-out); }
.support-chat.is-closing { animation: support-out 160ms var(--ease-in-out) forwards; }
.support-chat::backdrop { background: rgba(25, 27, 32, .2); }
.support-chat[open]::backdrop { animation: sa-fade-in var(--dur-med) var(--ease-out); }
.support-chat.is-closing::backdrop { animation: sa-fade-out 160ms var(--ease-in-out) forwards; }
@keyframes support-in { from { opacity: 0; transform: translateY(10px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes support-out { to { opacity: 0; transform: translateY(6px) scale(.97); } }

/* header: who answers here — the team (the SA picture) or the operator who took the conversation (their picture and
   name), and whether an operator is online */
.support-chat__head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: none;
  min-height: 71px;
  padding: 14px 10px 14px 16px;
  border-bottom: 1px solid var(--line);
}
.support-chat__ava { width: 42px; height: 42px; }
.support-chat__titles { flex: 1 1 auto; min-width: 0; }
.support-chat__title {
  overflow: hidden;
  font-size: var(--fs-md);
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.support-chat__title:focus { outline: none; }
.support-chat__note {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 1px;
  font-size: var(--fs-sm);
  line-height: 1.35;
  color: var(--ink-3);
}
.support-chat__note[hidden] { display: none; }
.support-chat__note.is-online::before {
  content: '';
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--support-online);
  box-shadow: 0 0 0 3px rgba(30, 159, 87, .16);
}
.support-chat__head.is-assigned .support-chat__ava { animation: support-ava-in 320ms var(--ease-out); }
@keyframes support-ava-in { from { transform: scale(.7); opacity: 0; } }
.support-chat__close { flex: none; align-self: flex-start; }

/* body: the scroll box for the intro, the conversation and the loading / unavailable states */
.support-chat__body {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px 16px 12px;
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
}
.support-chat__body::-webkit-scrollbar-thumb { border-color: var(--surface); }

/* ---------------------------------------------------------------- intro (no conversation yet) */
/* the team's greeting with the quick topics at the top, the name field under it, the safety line by the composer */
.support-intro { display: flex; flex-direction: column; gap: 16px; flex: 1 0 auto; padding: 2px 0 2px; }
.support-intro[hidden] { display: none; }
.support-greet {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 36px;
}
.support-greet .support-msg__bubble {
  max-width: 100%;
  background: var(--surface-sunken);
  color: var(--ink);
  border-top-left-radius: 6px;
}
.support-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.support-topic {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid #BCD3FD;
  border-radius: var(--radius-pill);
  background: var(--surface);
  color: var(--accent-ink);
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  transition:
    background-color var(--dur-fast) var(--ease-out),
    border-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out);
}
.support-topic::before { content: ''; position: absolute; inset: -4px 0; }   /* 36px visual → 44px target */
.support-topic:hover { background: var(--accent-tint); border-color: #9DBFFC; }
.support-topic:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.support-topic[aria-pressed='true'] { background: var(--accent-strong); border-color: var(--accent-strong); color: #FFFFFF; }
.support-topic[aria-pressed='true']:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.support-intro__name { margin-top: 2px; }
.support-intro__opt { font-weight: 400; color: var(--ink-3); }
.support-intro__steam,
.support-intro__safety {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--fs-sm);
  line-height: 1.45;
}
.support-intro__steam { color: var(--ink-2); }
.support-intro__steam svg { flex: none; margin-top: 1px; color: var(--ink); }
.support-intro__safety {
  margin-top: auto;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  background: var(--surface-sunken);
  color: var(--ink-2);
}
.support-intro__safety svg { flex: none; margin-top: 1px; color: var(--success); }

/* ---------------------------------------------------------------- conversation */
.support-chat__log {
  display: flex;
  flex-direction: column;
  margin: auto 0 0;            /* short conversations sit at the bottom, by the composer */
  padding: 0;
  list-style: none;
}
.support-chat__log[hidden] { display: none; }

.support-day {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px 0 10px;
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 1.3;
  color: var(--ink-3);
  white-space: nowrap;
}
.support-day:first-child { margin-top: 0; }
.support-day::before,
.support-day::after { content: ''; flex: 1 1 auto; height: 1px; background: var(--line); }

.support-msg {
  display: flex;
  flex-direction: column;
  max-width: 84%;
  margin-top: 3px;
}
.support-msg.is-first { margin-top: 12px; }
.support-day + .support-msg { margin-top: 0; }
.support-msg--visitor { align-self: flex-end; align-items: flex-end; }
/* an operator's run: picture and name once, at its start; the bubbles keep one left edge */
.support-msg--operator {
  position: relative;
  align-self: flex-start;
  align-items: flex-start;
  max-width: calc(84% + 36px);
  padding-left: 36px;
}
.support-msg__ava { position: absolute; left: 0; top: 21px; width: 28px; height: 28px; }
.support-msg__name {
  max-width: 100%;
  overflow: hidden;
  margin: 0 0 4px 4px;
  font-size: var(--fs-xs);
  font-weight: 600;
  line-height: 17px;
  color: var(--ink-3);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.support-msg__bubble {
  padding: 9px 14px 10px;
  border-radius: 18px;
  font-size: var(--fs-base);
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  text-wrap: wrap;
}
.support-msg--visitor .support-msg__bubble {
  background: var(--accent-strong);
  color: #FFFFFF;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.support-msg--visitor.is-first .support-msg__bubble { border-top-right-radius: 18px; }
.support-msg--visitor .support-msg__bubble::selection { background: #FFFFFF; color: var(--accent-press); }
.support-msg--operator .support-msg__bubble {
  background: var(--surface-sunken);
  color: var(--ink);
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.support-msg--operator.is-first .support-msg__bubble { border-top-left-radius: 18px; }
.support-msg.is-new { animation: support-msg-in 240ms var(--ease-out); }
@keyframes support-msg-in { from { opacity: 0; transform: translateY(6px); } }

.support-msg__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 10px;
  margin-top: 4px;
  padding: 0 4px;
  font-size: var(--fs-xs);
  line-height: 1.3;
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}
.support-msg.is-sending .support-msg__bubble { opacity: .62; }
.support-msg.is-failed .support-msg__bubble { background: var(--danger-tint); color: var(--ink); border: 1px solid #F0C4C4; }
.support-msg__meta--failed { justify-content: flex-end; }
.support-msg__fail { display: inline-flex; align-items: center; gap: 5px; color: var(--danger); font-weight: 600; }
.support-msg__fail svg { width: 14px; height: 14px; }
.support-msg__act {
  position: relative;
  min-height: 28px;
  padding: 0 2px;
  color: var(--accent-ink);
  font-size: var(--fs-xs);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
  border-radius: 6px;
}
.support-msg__act::before { content: ''; position: absolute; inset: -8px -6px; }   /* 44px target */
.support-msg__act:hover { color: var(--accent-hover); }
.support-msg__act[data-act='discard'] { color: var(--ink-2); }

.support-sys {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 16px auto 4px;
  max-width: 34ch;
  font-size: var(--fs-sm);
  line-height: 1.45;
  color: var(--ink-3);
  text-align: left;
}
.support-sys svg { flex: none; margin-top: 2px; color: var(--success); }

/* the visitor's own messages: ✓ delivered · ✓✓ read */
.support-tick { display: inline-flex; align-items: center; margin-left: -6px; color: var(--ink-3); }
.support-tick svg { width: 16px; height: 16px; stroke-width: 2; }
.support-tick.is-read { color: var(--accent); }
.support-tick.is-read svg { animation: support-tick-in 240ms var(--ease-out); }
@keyframes support-tick-in { from { transform: scale(.6); opacity: .3; } }

/* the server's own notes: an automatic reply (labelled), «Алексей теперь в чате» */
.support-note {
  align-self: center;
  max-width: min(320px, 92%);
  margin: 14px 0 4px;
  text-align: center;
}
.support-note--auto {
  padding: 9px 14px 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
}
.support-note__label {
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.support-note__text { margin-top: 3px; font-size: var(--fs-sm); line-height: 1.45; color: var(--ink-2); text-wrap: pretty; }
.support-note--plain {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-sm);
  font-weight: 500;
  line-height: 1.35;
  color: var(--ink-2);
}
.support-note--plain .support-ava { width: 20px; height: 20px; }
/* an operator's name is theirs to choose (up to 32 characters, maybe without a space): it wraps inside the panel */
.support-note--plain > span { min-width: 0; overflow-wrap: anywhere; }
.support-note.is-new { animation: support-msg-in 240ms var(--ease-out); }

/* «Алексей печатает…» under the last message */
.support-typing {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
  margin-top: 12px;
  padding-left: 36px;
}
.support-typing[hidden] { display: none; }
.support-typing .support-msg__ava { top: 2px; }
.support-typing__dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 32px;
  padding: 0 13px;
  border-radius: 16px 16px 16px 6px;
  background: var(--surface-sunken);
}
.support-typing__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ink-3);
  animation: support-typing 1.2s var(--ease-in-out) infinite;
}
.support-typing__dots i:nth-child(2) { animation-delay: .15s; }
.support-typing__dots i:nth-child(3) { animation-delay: .3s; }
@keyframes support-typing { 0%, 60%, 100% { opacity: .35; transform: none; } 30% { opacity: 1; transform: translateY(-3px); } }
.support-typing__text { min-width: 0; font-size: var(--fs-xs); line-height: 1.3; color: var(--ink-3); overflow-wrap: anywhere; }

/* ---------------------------------------------------------------- states */
.support-chat__state { display: grid; flex: 1 1 auto; align-content: center; }
.support-chat__state[hidden] { display: none; }
.support-chat__down { padding: 24px 12px; }
.support-chat__down .state__title { font-size: var(--fs-md); font-weight: 600; max-width: 28ch; }

.support-skel { display: grid; gap: 10px; align-content: end; height: 100%; padding-bottom: 8px; }
.support-skel__b { height: 40px; width: 62%; border-radius: 18px; }
.support-skel__b--r { justify-self: end; width: 48%; }
.support-skel__b--short { width: 38%; }

.support-chat__spin {
  justify-self: center;
  width: 28px;
  height: 28px;
  border: 2.5px solid var(--line-strong);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: sa-spin .8s linear infinite;
}

/* notice above the composer: a failed send, a rate limit, a conversation that is gone */
.support-chat__notice {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: none;
  padding: 8px 8px 8px 16px;
  border-top: 1px solid #F0C4C4;
  background: var(--danger-tint);
  color: var(--danger);
  font-size: var(--fs-sm);
  line-height: 1.4;
}
.support-chat__notice[hidden] { display: none; }
.support-chat__notice[data-kind='lost'] { border-top-color: #CFE0FF; background: var(--accent-tint); color: #1B4FB5; }
.support-chat__notice > svg { flex: none; }
.support-chat__notice-text { flex: 1 1 auto; min-width: 0; padding: 4px 0; }
.support-chat__notice-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex: none;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  color: var(--danger);
  font-weight: 600;
  position: relative;
}
.support-chat__notice-btn::before { content: ''; position: absolute; inset: -2px 0; }
.support-chat__notice-btn:hover { background: rgba(194, 47, 47, .08); }
.support-chat__notice-btn:focus-visible { outline: 2px solid var(--danger); outline-offset: -2px; }

/* ---------------------------------------------------------------- composer */
.support-chat__composer {
  flex: none;
  padding: 12px 12px 10px 14px;
  border-top: 1px solid var(--line);
  background: var(--surface);
}
.support-chat__composer[hidden] { display: none; }
.support-chat__notice:not([hidden]) + .support-chat__composer { border-top: 0; }
.support-chat__field { display: flex; align-items: flex-end; gap: 8px; }
.support-chat__input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
  max-height: 148px;
  padding: 10px 16px;
  border: 1px solid var(--line-control);
  border-radius: 22px;
  background: var(--surface);
  color: var(--ink);
  font-size: var(--fs-base);
  line-height: 1.45;
  resize: none;
  overflow-y: auto;
  scrollbar-width: thin;
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.support-chat__input::placeholder { color: var(--ink-3); opacity: 1; }
.support-chat__input:hover { border-color: var(--ink-3); }
.support-chat__input:focus,
.support-chat__input:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.support-chat__input[aria-invalid='true'] { border-color: var(--danger); }
.support-chat__input[aria-invalid='true']:focus { box-shadow: 0 0 0 1px var(--danger); }

.support-chat__send {
  display: grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--accent-strong);
  color: #FFFFFF;
  transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);
}
.support-chat__send svg { width: 20px; height: 20px; transform: translate(-1px, 1px); }
.support-chat__send:hover:not(:disabled) { background: var(--accent-hover); }
.support-chat__send:active:not(:disabled) { background: var(--accent-press); transform: scale(.94); }
.support-chat__send:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.support-chat__send:disabled { background: var(--surface-sunken); color: var(--ink-3); }

.support-chat__meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: 18px;
  margin-top: 6px;
  padding: 0 4px 0 16px;
  font-size: var(--fs-xs);
  line-height: 1.4;
  color: var(--ink-3);
}
.support-chat__count { margin-left: auto; font-variant-numeric: tabular-nums; text-align: right; }
.support-chat__count.is-over { color: var(--danger); font-weight: 600; }

.support-chat__topic {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  max-width: 100%;
  margin: 0 0 8px 2px;
  padding: 0 0 0 12px;
  border-radius: var(--radius-pill);
  background: var(--accent-tint);
  color: #1B4FB5;
  font-size: var(--fs-sm);
}
.support-chat__topic[hidden] { display: none; }
.support-chat__topic-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.support-chat__topic-text b { font-weight: 600; }
.support-chat__topic-x {
  display: grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: inherit;
  position: relative;
}
.support-chat__topic-x::before { content: ''; position: absolute; inset: -6px; }
.support-chat__topic-x:hover { background: rgba(31, 86, 189, .1); }

/* ---------------------------------------------------------------- touch, phones */
@media (hover: none), (pointer: coarse) {
  .support-chat__hint { visibility: hidden; }
  .support-chat__input { font-size: var(--fs-md); }      /* 16px: iOS does not zoom into the field */
  .support-launcher:hover { transform: none; }
}

@media (max-width: 767.98px) {
  .support-launcher {
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 52px;
    height: 52px;
  }
  .support-launcher svg { width: 24px; height: 24px; }
  /* the product page's sticky «Купить» bar (product.css .pd-sticky) */
  body:has(.pd-sticky.is-visible) .support-launcher { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
  /* toasts span the width above the launcher */
  body:has(> .support-launcher) .toast-region:not(.toast-region--dialog) {
    right: 16px;
    bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  }
  body:has(.pd-sticky.is-visible):has(> .support-launcher) .toast-region:not(.toast-region--dialog) {
    bottom: calc(152px + env(safe-area-inset-bottom, 0px));
  }
  body:has(> .support-launcher) .site-footer__legal { padding-right: 0; }
  body:has(> .support-launcher) .site-footer__in { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 599.98px) {
  .support-chat {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    transform-origin: 50% 100%;
  }
  .support-chat[open] { animation-name: support-in-up; }
  .support-chat::backdrop { background: transparent; }
  .support-chat__head { padding: calc(10px + env(safe-area-inset-top, 0px)) 8px 10px 16px; }
  .support-chat__close { align-self: center; }
  .support-chat__body { padding: 14px 14px 10px; }
  .support-chat__composer { padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px)) 12px; }
  .support-chat__meta { min-height: 0; }
  .support-chat__meta:has(.support-chat__count[hidden]) { display: none; }
  .support-msg { max-width: 88%; }
  .support-msg--operator { max-width: calc(88% + 36px); }
}
@keyframes support-in-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* short landscape screens: the floating panel uses the full height */
@media (min-width: 600px) and (max-height: 560px) {
  .support-chat { inset: 8px 16px 8px auto; height: auto; max-height: none; }
}

@media (prefers-reduced-motion: reduce) {
  .support-chat[open]::backdrop,
  .support-chat.is-closing::backdrop { animation: none; }
  .support-launcher:hover { transform: none; }
}

@media print {
  .support-launcher { display: none; }
}
