.chatfly{position:fixed;left:24px;bottom:24px;z-index:10000;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.chatfly *{box-sizing:border-box}
.chatfly__launcher{position:relative}
.chatfly__button{width:56px;height:56px;border-radius:999px;border:1px solid rgba(0,0,0,.06);background:#f3e4cf;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;padding:0;position:relative;transition:transform .25s ease, box-shadow .25s ease}
.chatfly__button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.chatfly__button__icon{
    position:absolute;inset:0;display:block;
    background: #f3e4cf;
    border-radius: 50%;
}
.chatfly__icon{position:absolute;inset:0;width:100%;height:100%;padding:0;object-fit:contain;pointer-events:none;transition:opacity .18s ease, transform .35s cubic-bezier(.2,.7,.2,1)}
.chatfly__icon--hover{opacity:0;transform:scale(.95)}
.chatfly__button:hover .chatfly__icon--hover{opacity:1;transform:scale(1)}
.chatfly__button:hover .chatfly__icon--default{opacity:0}
.chatfly.is-open .chatfly__icon--hover{opacity:1;transform:scale(1)}
.chatfly.is-open .chatfly__icon--default{opacity:0}
.chatfly__button__label{position:absolute;left:64px;top:14px;background:#fff;color:#555;font-size:14px;font-weight:600;padding:6px 12px;border-radius:6px;white-space:nowrap;opacity:0;transform:translateX(-6px);transition:opacity .18s ease, transform .18s ease;pointer-events:none;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.chatfly__button:hover .chatfly__button__label{opacity:1;transform:translateX(0)}

.chatfly__panel{position:fixed;left:24px;bottom:96px;width:320px;max-width:calc(100vw - 48px);border-radius:12px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.22);background:#fff;opacity:0;transform:translateX(-18px) translateY(8px);pointer-events:none;transition:opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1)}
.chatfly.is-open .chatfly__panel{opacity:1;transform:translateX(0) translateY(0);pointer-events:auto}

.chatfly__panel__head{height:56px;background:#e7e7e7;display:flex;align-items:center;justify-content:center;position:relative;padding:0 44px}
.chatfly__panel__title{font-weight:700;color:#333;font-size:14px;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chatfly__close{position:absolute;right:10px;top:10px;width:36px;height:36px;border:0;background:transparent;cursor:pointer;opacity:.7;transition:opacity .18s ease, transform .18s ease}
.chatfly__close:hover{opacity:1;transform:rotate(90deg)}
.chatfly__close:before,.chatfly__close:after{content:"";position:absolute;left:17px;top:7px;width:2px;height:22px;background:#333;border-radius:2px}
.chatfly__close:before{transform:rotate(45deg)}
.chatfly__close:after{transform:rotate(-45deg)}

.chatfly__panel__body{max-height:420px;overflow:auto;background:#fff}
.chatfly__content{padding:14px 16px;text-align:left}

@media (prefers-reduced-motion: reduce){
  .chatfly__panel,.chatfly__button,.chatfly__icon,.chatfly__button__label,.chatfly__close{transition:none !important}
}