.kd-chat-launcher {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 199;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  max-width: calc(100vw - 112px);
  padding: 12px 22px 12px 16px;
  border: 1px solid #ffffff66;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--kd-blue, #006bea), #164993);
  color: #fff !important;
  box-shadow: 0 8px 30px #0829563d;
  text-decoration: none;
  font: 500 13px/1.45 system-ui, "Microsoft YaHei", sans-serif;
  transition: transform .18s ease, box-shadow .18s ease;
}
.kd-chat-launcher:hover { transform: translateY(-2px); box-shadow: 0 12px 32px #08295659; }
.kd-chat-launcher:focus-visible { outline: 3px solid var(--kd-blue, #006bea); outline-offset: 4px; }
.kd-inline-chat-open .kd-chat-launcher { display: none; }
.kd-chat-launcher-icon { flex: 0 0 30px; width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.kd-chat-launcher-copy { display: grid; gap: 1px; }
.kd-chat-launcher-copy strong { font-size: 16px; }
.kd-chat-launcher-copy > span { color: #e3efff; }
.kd-chat-launcher-count { position: absolute; top: -7px; right: 2px; display: grid; place-items: center; min-width: 25px; height: 25px; padding: 0 6px; border: 2px solid #fff; border-radius: 999px; background: #d52d41; color: #fff; font-size: 12px; font-weight: 750; }
.kd-chat-launcher-count[hidden] { display: none; }
.kd-chat-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.kd-inline-chat { right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); max-height: calc(100dvh - max(24px, env(safe-area-inset-bottom)) - max(16px, env(safe-area-inset-top))); }
@media (max-width: 560px) {
  .kd-chat-launcher { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); gap: 8px; min-height: 56px; padding: 9px 16px 9px 13px; }
  .kd-chat-launcher-copy strong { font-size: 15px; }
  .kd-inline-chat { right: max(8px, env(safe-area-inset-right)); bottom: max(8px, env(safe-area-inset-bottom)); max-width: calc(100% - max(8px, env(safe-area-inset-right)) - max(8px, env(safe-area-inset-left))); max-height: calc(100dvh - max(8px, env(safe-area-inset-bottom)) - max(8px, env(safe-area-inset-top))); }
}
@media (max-width: 640px) {
  .kd-chat-launcher { width: 64px; height: 64px; min-height: 64px; padding: 16px; justify-content: center; }
  .kd-chat-launcher-copy { display: none; }
}
@media (prefers-reduced-motion: reduce) { .kd-chat-launcher { transition: none; } }
