.widget-root{position:fixed;bottom:24px;right:24px;z-index:9999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.widget-fab{width:56px;height:56px;border-radius:50%;border:none;background:#1565c0;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #1565c073;transition:background .15s,transform .15s,box-shadow .15s}.widget-fab:hover{background:#1976d2;transform:translateY(-2px);box-shadow:0 6px 20px #1565c080}.widget-fab:active{transform:translateY(0)}.widget-fab-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.widget-fab--open{background:#455a64;box-shadow:0 4px 16px #455a6466}.widget-fab--open:hover{background:#546e7a}.chat-window{position:absolute;bottom:68px;right:0;width:360px;height:520px;background:#fff;border-radius:16px;box-shadow:0 8px 40px #0000002e;display:flex;flex-direction:column;overflow:hidden;animation:chat-in .2s ease}@keyframes chat-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 420px){.chat-window{width:calc(100vw - 16px);right:-16px;bottom:72px;height:70vh;max-height:520px;border-radius:12px}}.chat-window--fullpage{position:static;width:100%;max-width:760px;height:100vh;margin:0 auto;border-radius:0;box-shadow:none;animation:none}@media (min-width: 761px){.chat-window--fullpage{height:min(100vh,860px);margin:max(0px,calc((100vh - 860px)/2)) auto;border-radius:16px;box-shadow:0 8px 40px #0000001f}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#1565c0;color:#fff;flex-shrink:0}.chat-header-info{display:flex;align-items:center;gap:8px}.chat-header-dot{width:8px;height:8px;border-radius:50%;background:#69f0ae;box-shadow:0 0 0 2px #69f0ae59}.chat-header-title{font-weight:600;font-size:.95rem;letter-spacing:.01em}.chat-header-close{background:none;border:none;color:#fffc;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:color .1s,background .1s}.chat-header-close:hover{color:#fff;background:#ffffff26}.msg-list{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}.msg-list::-webkit-scrollbar{width:4px}.msg-list::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.msg-empty{margin:auto;text-align:center;color:#888;font-size:.88rem;line-height:1.6}.msg-empty p+p{margin-top:4px}.msg-error{background:#fdecea;border:1px solid #f5c6c2;color:#b71c1c;border-radius:8px;padding:10px 12px;font-size:.82rem}.msg-row{display:flex;align-items:flex-end;gap:8px}.msg-row--user{flex-direction:row-reverse}.msg-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0}.msg-avatar-img{width:100%;height:100%;object-fit:cover}.msg-bubble{max-width:78%;padding:10px 13px;border-radius:14px;font-size:.875rem;line-height:1.55;word-break:break-word}.msg-bubble--user{background:#1565c0;color:#fff;border-bottom-right-radius:4px}.msg-bubble--assistant{background:#f4f6f8;color:#1a1a1a;border-bottom-left-radius:4px}.msg-text{white-space:pre-wrap}.msg-sources{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.msg-sources-label{font-size:.73rem;color:#777;margin-right:2px}.msg-source-tag{font-size:.72rem;background:#e8eaf6;color:#3949ab;border-radius:4px;padding:2px 7px;font-weight:500}.msg-typing{display:inline-flex;gap:4px;align-items:center;height:20px}.msg-typing span{width:6px;height:6px;border-radius:50%;background:#90a4ae;animation:bounce 1.2s infinite ease-in-out}.msg-typing span:nth-child(2){animation-delay:.2s}.msg-typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.input-bar{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid #eee;flex-shrink:0;background:#fff}.input-textarea{flex:1;resize:none;border:1px solid #dde1e7;border-radius:10px;padding:8px 11px;font-size:.875rem;font-family:inherit;line-height:1.5;outline:none;transition:border-color .15s;overflow-y:hidden}.input-textarea:focus{border-color:#1565c0}.input-textarea:disabled{background:#f9f9f9;color:#aaa}.input-send,.input-reset{width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s;flex-shrink:0}.input-send{background:#1565c0;color:#fff}.input-send:hover:not(:disabled){background:#1976d2}.input-send:disabled{opacity:.4;cursor:default}.input-reset{background:#f0f2f5;color:#666}.input-reset:hover{background:#e3e5e8}
