#astra-bubble{position:fixed;bottom:96px;right:20px;z-index:9999;width:58px;height:58px;border-radius:50%;background:var(--salmon,#148cc4);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgb(0 153 221 / .45);transition:transform 0.2s ease,box-shadow 0.2s ease;overflow:hidden;will-change:transform,box-shadow}#astra-bubble img{width:38px;height:38px;border-radius:50%;object-fit:cover;transition:transform 0.2s ease,opacity 0.2s ease}#astra-bubble:hover{transform:scale(1.1);box-shadow:0 6px 32px rgb(0 153 221 / .65)}#astra-bubble .astra-close-icon{display:none;font-size:22px;color:#fff;line-height:1}#astra-bubble.is-open img{display:none}#astra-bubble.is-open .astra-close-icon{display:block}#astra-bubble::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--salmon,#ff6b6b);animation:astra-pulse 2.4s ease-out infinite;pointer-events:none}@keyframes astra-pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.6);opacity:0}100%{transform:scale(1.6);opacity:0}}#astra-chat{position:fixed;bottom:168px;right:20px;z-index:9998;width:370px;max-width:calc(100vw - 40px);height:540px;max-height:calc(100vh - 130px);background:#1a1a2e;border:1px solid rgb(0 153 221 / .25);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgb(0 0 0 / .6),0 0 0 1px rgb(0 153 221 / .08);transform:translateY(16px) scale(.96);opacity:0;pointer-events:none;transition:opacity 0.28s cubic-bezier(.25,.46,.45,.94),transform 0.28s cubic-bezier(.25,.46,.45,.94);will-change:transform,opacity}#astra-chat.is-visible{opacity:1;pointer-events:all;transform:translateY(0) scale(1)}.astra-header{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid rgb(0 153 221 / .15);background:rgb(0 153 221 / .06);flex-shrink:0}.astra-header-avatar{width:38px;height:38px;border-radius:50%;border:2px solid var(--salmon,#ff6b6b);object-fit:cover;flex-shrink:0}.astra-header-info{flex:1;min-width:0}.astra-header-name{font-size:.95rem;font-weight:600;color:#f5f5f5;letter-spacing:.04em}.astra-header-status{font-size:.72rem;color:var(--salmon,#ff6b6b);display:flex;align-items:center;gap:5px;margin-top:1px}.astra-header-status::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--salmon,#ff6b6b);box-shadow:0 0 6px var(--salmon,#ff6b6b);animation:astra-blink 2s ease-in-out infinite}@keyframes astra-blink{0%,100%{opacity:1}50%{opacity:.4}}.astra-messages{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.astra-messages::-webkit-scrollbar{width:4px}.astra-messages::-webkit-scrollbar-track{background:#fff0}.astra-messages::-webkit-scrollbar-thumb{background:rgb(0 153 221 / .3);border-radius:4px}.astra-msg{max-width:85%;font-size:.875rem;line-height:1.55;animation:astra-msg-in 0.22s ease-out both}@keyframes astra-msg-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.astra-msg.bot{align-self:flex-start;background:rgb(0 153 221 / .1);border:1px solid rgb(0 153 221 / .2);color:#f5f5f5;border-radius:4px 16px 16px 16px;padding:10px 14px}.astra-msg.user{align-self:flex-end;background:var(--salmon,#ff6b6b);color:#fff;border-radius:16px 4px 16px 16px;padding:10px 14px}.astra-typing{align-self:flex-start;display:flex;align-items:center;gap:5px;padding:12px 16px;background:rgb(0 153 221 / .08);border:1px solid rgb(0 153 221 / .15);border-radius:4px 16px 16px 16px;animation:astra-msg-in 0.22s ease-out both}.astra-typing span{width:7px;height:7px;background:var(--salmon,#ff6b6b);border-radius:50%;animation:astra-bounce 1.2s ease-in-out infinite}.astra-typing span:nth-child(2){animation-delay:0.15s}.astra-typing span:nth-child(3){animation-delay:0.3s}@keyframes astra-bounce{0%,60%,100%{transform:translateY(0);opacity:.6}30%{transform:translateY(-6px);opacity:1}}.astra-input-area{display:flex;align-items:flex-end;gap:8px;padding:14px 16px;border-top:1px solid rgb(0 153 221 / .15);background:rgb(0 0 0 / .2);flex-shrink:0}#astra-input{flex:1;background:rgb(255 255 255 / .05);border:1px solid rgb(0 153 221 / .2);border-radius:12px;color:#f5f5f5;font-family:inherit;font-size:.875rem;padding:10px 14px;resize:none;min-height:42px;max-height:110px;line-height:1.4;outline:none;transition:border-color 0.2s}#astra-input::placeholder{color:rgb(255 255 255 / .3)}#astra-input:focus{border-color:rgb(0 153 221 / .55)}.astra-action-btn{width:42px;height:42px;flex-shrink:0;background:rgb(255 255 255 / .1);border:1px solid rgb(0 153 221 / .2);border-radius:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background 0.2s ease,transform 0.2s ease;font-size:18px}.astra-action-btn:hover{background:rgb(0 153 221 / .3);transform:scale(1.02)}#astra-mic{background:rgb(0 153 221 / .15)}#astra-mic.listening{background:#e74c3c;animation:mic-pulse 1.5s infinite;border-color:#e74c3c}@keyframes mic-pulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgb(231 76 60 / .7)}70%{transform:scale(1.05);box-shadow:0 0 0 8px #fff0}100%{transform:scale(1);box-shadow:0 0 0 0 #fff0}}#astra-mic.listening:hover{background:#c0392b}#astra-send{background:var(--salmon,#ff6b6b)}#astra-send:hover:not(:disabled){background:#ff5252;transform:scale(1.05)}#astra-send:disabled{opacity:.4;cursor:not-allowed}.astra-voice-status{font-size:.7rem;color:var(--salmon,#ff6b6b);text-align:center;padding:4px 12px;background:rgb(0 0 0 / .3);border-radius:20px;margin:0 16px 8px;display:none}.astra-voice-status.active{display:block;animation:pulse-text 1s infinite}@keyframes pulse-text{0%,100%{opacity:.7}50%{opacity:1}}.astra-disclaimer{font-size:.68rem;color:rgb(255 255 255 / .2);text-align:center;padding:6px 16px 10px}@media (max-width:480px){#astra-bubble{right:14px;bottom:82px}#astra-chat{right:12px;bottom:150px;width:calc(100vw - 24px)}}.astra-msg.bot .astra-link{color:var(--salmon,#ff6b6b);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:500;transition:color 0.2s ease,text-decoration-thickness 0.2s ease;cursor:pointer}.astra-msg.bot .astra-link:hover{color:#f88;text-decoration-thickness:2px}