@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap";@keyframes msgIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}@keyframes panelIn{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:none}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes badgePop{0%{transform:scale(0)}to{transform:scale(1)}}.cw-panel{position:fixed;bottom:88px;right:var(--cw-panel-right, 24px);left:var(--cw-panel-left, auto);width:360px;height:520px;background:var(--cw-bg, #fff);color:var(--cw-text, #1e293b);font-family:var(--cw-font, "Nunito", sans-serif);border-radius:var(--cw-radius, 20px);box-shadow:0 8px 48px #0000002e,0 2px 12px #0000001a;display:flex;flex-direction:column;overflow:hidden;animation:panelIn .22s cubic-bezier(.34,1.56,.64,1);z-index:9999}.cw-header{padding:1rem 1.1rem;background:var(--cw-primary, #6366f1);display:flex;align-items:center;gap:.65rem}.cw-header-avatar{width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff}.cw-header-name{color:#fff;font-weight:700;font-size:.9rem;line-height:1.2}.cw-header-status{color:#ffffffb3;font-size:.7rem;display:flex;align-items:center;gap:4px}.cw-header-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.cw-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.cw-status-dot.online{background:#4ade80}.cw-status-dot.typing{background:#fbbf24}.cw-close-btn{margin-left:auto;background:#ffffff26;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .15s}.cw-close-btn:hover{background:#ffffff47}.cw-back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#fff;flex-shrink:0;margin-right:2px;transition:background .15s}.cw-back-btn:hover{background:#ffffff26}.cw-messages{flex:1;overflow-y:auto;padding:1rem .85rem .5rem;background:var(--cw-surface, #f8fafc);scrollbar-width:thin;scrollbar-color:var(--cw-border, #e2e8f0) transparent}.cw-messages::-webkit-scrollbar{width:4px}.cw-messages::-webkit-scrollbar-track{background:transparent}.cw-messages::-webkit-scrollbar-thumb{background:var(--cw-border, #e2e8f0);border-radius:4px}.cw-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:.4}.cw-empty-icon{font-size:2rem}.cw-empty-text{font-size:.75rem;color:var(--cw-muted, #64748b);letter-spacing:.05em}.cw-msg-row{display:flex;margin-bottom:.6rem;animation:msgIn .18s cubic-bezier(.4,0,.2,1)}.cw-msg-row.user{justify-content:flex-end}.cw-msg-row.assistant{justify-content:flex-start}.cw-avatar{width:28px;height:28px;border-radius:50%;background:var(--cw-primary, #6366f1);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff;font-weight:700;flex-shrink:0;margin-right:.5rem;align-self:flex-end}.cw-bubble{max-width:72%;padding:.55rem .9rem;font-family:var(--cw-font, "Nunito", sans-serif);font-size:.875rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;position:relative}.cw-bubble.user{border-radius:1.2rem 1.2rem .25rem;background:var(--cw-primary, #6366f1);color:#fff;box-shadow:0 2px 12px #00000026}.cw-bubble.assistant{border-radius:1.2rem 1.2rem 1.2rem .25rem;background:var(--cw-surface, #f0f4f8);color:var(--cw-text, #1e293b);box-shadow:0 1px 4px #00000014}.cw-cursor{display:inline-block;width:2px;height:.9em;margin-left:2px;vertical-align:text-bottom;animation:blink .9s step-end infinite}.cw-bubble.user .cw-cursor{background:#ffffffb3}.cw-bubble.assistant .cw-cursor{background:var(--cw-primary, #6366f1)}.cw-error-text{color:#ef4444;font-size:.75rem;display:block;margin-top:3px}.cw-input-area{padding:.65rem .75rem;border-top:1px solid var(--cw-border, #e2e8f0);background:var(--cw-bg, #fff);display:flex;align-items:flex-end;gap:.5rem}.cw-textarea{flex:1;padding:.55rem .85rem;background:var(--cw-surface, #f1f5f9);border:1.5px solid transparent;border-radius:1.2rem;color:var(--cw-text, #1e293b);font-family:var(--cw-font, "Nunito", sans-serif);font-size:.875rem;line-height:1.5;resize:none;outline:none;min-height:38px;max-height:100px;overflow-y:auto;transition:border-color .15s}.cw-textarea::placeholder{color:var(--cw-muted, #94a3b8)}.cw-textarea:focus{border-color:var(--cw-primary, #6366f1)}.cw-textarea:disabled{opacity:.6;cursor:not-allowed}.cw-send-btn{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .1s,box-shadow .15s}.cw-send-btn.active{background:var(--cw-primary, #6366f1);color:#fff;box-shadow:0 2px 10px #0003}.cw-send-btn.active:hover{transform:scale(1.08)}.cw-send-btn.inactive{background:var(--cw-surface, #e2e8f0);color:var(--cw-muted, #94a3b8);cursor:not-allowed}.cw-send-btn.stop{background:#fee2e2;color:#ef4444}.cw-send-btn.stop:hover{background:#fecaca}.cw-fab{position:fixed;bottom:24px;right:var(--cw-fab-right, 24px);left:var(--cw-fab-left, auto);width:56px;height:56px;border-radius:50%;border:none;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10000;transition:background .2s,transform .2s;box-shadow:0 4px 24px #0003}.cw-fab.closed{background:var(--cw-primary, #6366f1);animation:bounce 2.5s ease-in-out infinite}.cw-fab.open{background:var(--cw-muted, #64748b);font-size:1.3rem}.cw-fab:hover{transform:scale(1.1)}.cw-badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--cw-bg, #fff);animation:badgePop .2s cubic-bezier(.34,1.56,.64,1)}.cw-new-chat-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;color:#ffffffd9;background:#ffffff1f;border:.5px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}.cw-new-chat-btn:hover:not(:disabled){background:#ffffff38}.cw-new-chat-btn:disabled{opacity:.35;cursor:default}.cw-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:var(--cw-surface, #f8fafc);border-bottom:.5px solid var(--cw-border, #e2e8f0);font-size:13px}.cw-confirm-text{color:var(--cw-muted, #64748b)}.cw-confirm-actions{display:flex;gap:6px}.cw-confirm-btn{padding:4px 10px;font-size:12px;border-radius:6px;cursor:pointer;border:.5px solid var(--cw-border, #e2e8f0);background:transparent;transition:background .15s}.cw-confirm-btn.cancel{color:var(--cw-muted, #64748b)}.cw-confirm-btn.cancel:hover{background:var(--cw-surface, #f1f5f9)}.cw-confirm-btn.confirm{color:#ef4444;border-color:#fca5a5}.cw-confirm-btn.confirm:hover{background:#fee2e2}.cw-sessions-body{flex:1;overflow-y:auto;padding:8px 0;background:var(--cw-bg, #fff)}.cw-session-list{list-style:none;margin:0;padding:0}.cw-session-item{display:flex;flex-direction:column;gap:4px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--cw-border, rgba(0, 0, 0, .06));transition:background .12s}.cw-session-item:last-child{border-bottom:none}.cw-session-item:hover{background:var(--cw-surface, rgba(0, 0, 0, .04))}.cw-session-preview{font-size:13.5px;line-height:1.45;color:var(--cw-text, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cw-session-meta{display:flex;align-items:center;gap:8px}.cw-session-date,.cw-session-count{font-size:11.5px;color:var(--cw-muted, #888)}.cw-session-count:before{content:"·";margin-right:8px}.cw-sessions-footer{padding:12px 16px;border-top:1px solid var(--cw-border, rgba(0, 0, 0, .08));background:var(--cw-bg, #fff)}.cw-new-chat-full-btn{width:100%;padding:9px 0;border:1px solid var(--cw-border, rgba(0, 0, 0, .15));border-radius:8px;background:transparent;font-size:13.5px;font-weight:500;cursor:pointer;color:var(--cw-text, #111);transition:background .12s}.cw-new-chat-full-btn:hover{background:var(--cw-surface, rgba(0, 0, 0, .05))}
