.cco-invitation {
  position: fixed;
  z-index: 2147483000;
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(88px + env(safe-area-inset-bottom));
  width: min(340px, calc(100vw - 36px));
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 16px;
  background: #fff;
  color: #18212f;
  box-shadow: 0 12px 36px rgba(15, 23, 42, .2);
  font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  animation: cco-in .22s ease-out both;
}

.cco-invitation__agent { display: block; padding-right: 28px; font-size: 15px; }
.cco-invitation__message { margin: 6px 0 12px; color: #475569; white-space: pre-line; }
.cco-invitation__open {
  border: 0;
  border-radius: 10px;
  padding: 9px 14px;
  background: #0f766e;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.cco-invitation__open:hover { background: #115e59; }
.cco-invitation__open:focus-visible,
.cco-invitation__close:focus-visible { outline: 3px solid rgba(13, 148, 136, .3); outline-offset: 2px; }
.cco-invitation__close {
  position: absolute;
  top: 8px;
  right: 10px;
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 22px;
  cursor: pointer;
}

@keyframes cco-in {
  from { opacity: 0; transform: translateY(8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 767px) {
  .cco-invitation {
    right: 12px;
    bottom: calc(78px + env(safe-area-inset-bottom));
    width: calc(100vw - 24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cco-invitation { animation: none; }
}
