@keyframes hub-pulse-border{0%,to{box-shadow:0 0 #b8b09a99,0 6px 18px #00000073}50%{box-shadow:0 0 0 8px #b8b09a00,0 6px 18px #00000073}}@keyframes hub-mic-pulse{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 8px #ef444400}}@keyframes hub-fade-in{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.hub-bubble{cursor:pointer;z-index:9998;background-position:top;background-size:cover;border:2px solid #b8b09a;border-radius:50%;width:56px;height:56px;transition:transform .2s;animation:2.4s ease-in-out infinite hub-pulse-border;position:fixed;bottom:16px;right:16px}.hub-bubble:hover{transform:scale(1.06)}.hub-bubble-badge{color:#fff;background:#ef4444;border:2px solid #0d0f14;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;display:flex;position:absolute;top:-2px;right:-2px}.hub-tooltip{color:#e6e8ec;white-space:nowrap;pointer-events:none;opacity:0;background:#22252e;border-radius:6px;padding:6px 10px;font-size:12px;transition:opacity .2s;position:absolute;bottom:64px;right:0}.hub-bubble:hover .hub-tooltip{opacity:1}.hub-window{z-index:9999;background:#1a1c22;border:1px solid #b8b09a40;border-radius:14px;flex-direction:column;width:340px;height:480px;font-family:inherit;animation:.22s ease-out hub-fade-in;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 20px 60px #0000008c}.hub-header{background:linear-gradient(#22252e,#1a1c22);border-bottom:1px solid #b8b09a26;align-items:center;gap:10px;padding:12px 14px;display:flex}.hub-header-avatar{object-fit:cover;object-position:center top;border:1.5px solid #b8b09a;border-radius:50%;width:40px;height:40px}.hub-header-info{flex:1;min-width:0}.hub-header-name{color:#e6e8ec;font-size:14px;font-weight:600;line-height:1.2}.hub-header-sub{color:#9aa0aa;font-size:11px}.hub-close-btn{color:#9aa0aa;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:flex}.hub-close-btn:hover{color:#e6e8ec;background:#ffffff0d}.hub-close-btn:disabled{opacity:.35;cursor:not-allowed}.hub-close-btn.armed{color:hsl(var(--destructive,0 84% 60%));background:hsl(var(--destructive,0 84% 60%) / .12);animation:1.2s ease-out infinite hub-mic-pulse}.hub-msg-wrap{align-items:flex-start;gap:4px;max-width:100%;display:flex}.hub-msg-wrap-agent{flex-direction:row;align-self:flex-start}.hub-msg-wrap-user{flex-direction:row-reverse;align-self:flex-end}.hub-msg-wrap .hub-msg{max-width:100%;animation:.18s ease-out hub-fade-in}.hub-msg-actions{opacity:0;flex-shrink:0;align-self:center;gap:2px;transition:opacity .15s;display:flex}.hub-msg-wrap:hover .hub-msg-actions,.hub-msg-wrap:focus-within .hub-msg-actions{opacity:1}.hub-msg-action{color:#9aa0aa;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:background .15s,color .15s;display:inline-flex}.hub-msg-action:hover{color:#e6e8ec;background:#ffffff0f}.hub-msg-action.danger:hover{color:#ef4444;background:#ef44441f}.hub-msg-action.danger.confirming{color:#ef4444;background:#ef44442e;animation:1s ease-out infinite hub-mic-pulse}.hub-msg-action.confirm{color:#60a5cc}.hub-msg-action.confirm:hover{color:#7ab8db;background:#60a5cc26}.hub-msg-edit{flex-direction:column;gap:6px;min-width:180px;display:flex}.hub-msg-edit-input{resize:vertical;color:#e6e8ec;background:#00000040;border:1px solid #b8b09a66;border-radius:6px;outline:none;width:100%;min-height:56px;padding:6px 8px;font-family:inherit;font-size:13px;line-height:1.4}.hub-msg-edit-input:focus{border-color:#60a5cc}.hub-msg-edit-actions{justify-content:flex-end;gap:4px;display:flex}.hub-messages{background:#1a1c22;flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.hub-msg{word-wrap:break-word;white-space:pre-wrap;border-radius:12px;max-width:80%;padding:8px 12px;font-size:13px;line-height:1.4;animation:.18s ease-out hub-fade-in}.hub-msg-agent{color:#e6e8ec;background:#22252e;border-top-left-radius:4px;align-self:flex-start}.hub-msg-user{color:#e6e8ec;background:#b8b09a1f;border:1px solid #b8b09a66;border-top-right-radius:4px;align-self:flex-end}.hub-search-card{cursor:pointer;background:#22252e;border:1px solid #b8b09a33;border-radius:8px;align-items:center;gap:10px;padding:8px;transition:background .15s;display:flex}.hub-search-card:hover{background:#2a2d37}.hub-search-thumb{object-fit:cover;background:#0d0f14;border-radius:4px;flex-shrink:0;width:40px;height:40px}.hub-search-info{flex:1;min-width:0}.hub-search-title{color:#e6e8ec;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.2;overflow:hidden}.hub-search-tag{color:#60a5cc;background:#60a5cc26;border-radius:3px;margin-top:3px;padding:1px 6px;font-size:10px;display:inline-block}.hub-input-bar{background:#15171c;border-top:1px solid #b8b09a26;align-items:center;gap:6px;padding:10px;display:flex}.hub-input{color:#e6e8ec;background:#22252e;border:1px solid #b8b09a33;border-radius:18px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px}.hub-input:focus{border-color:#b8b09a}.hub-icon-btn{color:#e6e8ec;cursor:pointer;background:#22252e;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s;display:flex}.hub-icon-btn:hover{background:#2a2d37}.hub-icon-btn:disabled{opacity:.4;cursor:not-allowed}.hub-icon-btn.send{color:#0d0f14;background:#60a5cc}.hub-icon-btn.send:hover{background:#7ab8db}.hub-icon-btn.mic-active{color:#fff;background:#ef4444;animation:1.2s ease-in-out infinite hub-mic-pulse}.hub-typing{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.hub-typing span{opacity:.4;background:#b8b09a;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite hub-typing-bounce}.hub-typing span:nth-child(2){animation-delay:.15s}.hub-typing span:nth-child(3){animation-delay:.3s}@keyframes hub-typing-bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media(max-width:420px){.hub-window{width:calc(100vw - 24px);height:70vh;bottom:12px;right:12px}}.hub-bubble,.hub-window{transition:opacity .4s,transform .4s,box-shadow .3s}.hub-header-avatar-wrap{flex-shrink:0;display:inline-block;position:relative}.hub-tts-indicator{color:#b8b09a;z-index:2;pointer-events:none;background:#0d0f14e6;border:2px solid #b8b09a;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute}.hub-tts-indicator-bubble{bottom:-4px;left:-4px}.hub-tts-indicator-header{width:18px;height:18px;bottom:-2px;right:-2px}.hub-tts-loading{color:#60a5cc;border-color:#60a5cc}.hub-tts-playing{color:#4ade80;border-color:#4ade80;animation:1.4s ease-in-out infinite hub-wave-pulse}.hub-tts-spin{animation:.9s linear infinite hub-spin}@keyframes hub-spin{to{transform:rotate(360deg)}}@keyframes hub-wave-pulse{0%,to{transform:scale(1);box-shadow:0 0 #4ade80a6}50%{transform:scale(1.08);box-shadow:0 0 0 6px #4ade8000}}
