#smiley-widget{position:fixed;right:18px;bottom:18px;z-index:9999;font-family:inherit}
#smiley-widget *{box-sizing:border-box}
.smiley-launcher{border:none;cursor:pointer;border-radius:999px;padding:14px 18px;display:flex;align-items:center;gap:10px;background:#111;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.18);font-weight:700;font-size:15px}
.smiley-launcher-face{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#111;font-size:15px}
.smiley-panel{position:absolute;right:0;bottom:70px;width:min(390px,calc(100vw - 24px));max-height:min(78vh,720px);background:#fff;border-radius:20px;box-shadow:0 18px 60px rgba(0,0,0,.22);overflow:hidden;display:none;border:1px solid rgba(0,0,0,.08)}
.smiley-panel.open{display:flex;flex-direction:column}
.smiley-header{padding:16px 16px 14px;background:linear-gradient(180deg,#111,#2b2b2b);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.smiley-title{display:flex;gap:12px;align-items:flex-start}
.smiley-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#111;font-size:22px;flex:0 0 42px}
.smiley-title h3{margin:0;font-size:18px;line-height:1.1}
.smiley-title p{margin:4px 0 0;font-size:12.5px;line-height:1.35;opacity:.92}
.smiley-close{border:none;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:0 4px}
.smiley-messages{padding:14px;overflow:auto;background:#f8f8f8;display:flex;flex-direction:column;gap:10px;min-height:290px}
.smiley-msg{max-width:92%;padding:12px 14px;border-radius:16px;white-space:pre-wrap;line-height:1.45;font-size:14px}
.smiley-msg.bot{background:#fff;color:#1a1a1a;border-top-left-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.smiley-msg.user{background:#111;color:#fff;margin-left:auto;border-bottom-right-radius:6px}
.smiley-meta{padding:12px;background:#fff;border-top:1px solid rgba(0,0,0,.08)}
.smiley-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.smiley-suggestion{border:1px solid rgba(0,0,0,.12);background:#fff;padding:8px 11px;border-radius:999px;font-size:12.5px;cursor:pointer}
.smiley-suggestion:hover{background:#f1f1f1}
.smiley-form{display:flex;gap:8px;align-items:flex-end}
.smiley-input-wrap{flex:1}
.smiley-input{width:100%;resize:none;border:1px solid rgba(0,0,0,.14);border-radius:14px;padding:11px 12px;font:inherit;font-size:14px;min-height:44px;max-height:120px}
.smiley-send,.smiley-link{display:inline-flex;align-items:center;justify-content:center;border:none;background:#111;color:#fff;border-radius:12px;padding:10px 12px;font-weight:700;text-decoration:none;font-size:13px;cursor:pointer}
.smiley-link-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.smiley-link.secondary{background:#fff;color:#111;border:1px solid rgba(0,0,0,.14)}
.smiley-note,.smiley-mini{margin-top:8px;font-size:11.5px;color:#666;line-height:1.4}
.smiley-capture{display:grid;gap:8px;margin-top:10px}
.smiley-capture input,.smiley-capture select,.smiley-capture textarea{width:100%;border:1px solid rgba(0,0,0,.14);border-radius:10px;padding:9px 10px;font:inherit;font-size:13px;background:#fff}
.smiley-capture textarea{min-height:84px;resize:vertical}
.smiley-typing{display:inline-flex;gap:4px;align-items:center}
.smiley-typing span{width:6px;height:6px;border-radius:50%;background:#999;display:block;animation:smileyBounce 1s infinite ease-in-out}
.smiley-typing span:nth-child(2){animation-delay:.12s}.smiley-typing span:nth-child(3){animation-delay:.24s}
@keyframes smileyBounce{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}
@media (max-width:640px){#smiley-widget{right:12px;bottom:12px}.smiley-panel{width:min(100vw - 12px,390px);bottom:66px}}