#fluid-chat{display:block}.fluid-chat{--fc-primary: 200, 80%, 50%;--fc-primary-glow: 200, 90%, 60%;--fc-surface: 220, 20%, 98%;--fc-surface-dark: 220, 30%, 12%;--fc-text: 220, 30%, 15%;--fc-text-muted: 220, 15%, 50%;--fc-glass: rgba(255, 255, 255, .85);--fc-glass-border: rgba(255, 255, 255, .3);--fc-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);--fc-radius: 24px;--fc-orb-size: 64px;--fc-panel-width: 400px;--fc-panel-height: 520px;position:fixed;bottom:24px;right:24px;z-index:9999;font-family:Plus Jakarta Sans,system-ui,sans-serif}.fluid-chat .ambient-glow{position:absolute;bottom:-20px;right:-20px;width:120px;height:120px;background:radial-gradient(circle,hsl(var(--fc-primary-glow) / .4) 0%,hsl(var(--fc-primary-glow) / .1) 40%,transparent 70%);border-radius:50%;filter:blur(20px);opacity:.6;transition:opacity .5s ease,transform .5s ease;pointer-events:none}.fluid-chat.open .ambient-glow{opacity:.3;transform:scale(3) translateY(-100px)}.fluid-chat .chat-orb{position:relative;width:var(--fc-orb-size);height:var(--fc-orb-size);border:none;border-radius:50%;background:radial-gradient(circle at center,hsl(var(--fc-primary) / .15) 0%,hsl(var(--fc-primary) / .05) 60%,transparent 70%);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease;z-index:10}.fluid-chat .chat-orb:hover{transform:scale(1.1);box-shadow:none}.fluid-chat .chat-orb:focus-visible{outline:none;box-shadow:0 0 0 3px #fff,0 0 0 5px hsl(var(--fc-primary))}.fluid-chat.open .chat-orb{transform:scale(.9);background:transparent;box-shadow:none}.fluid-chat.open .orb-core{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 2px 8px #0000004d}.fluid-chat .orb-ring{position:absolute;inset:-4px;border-radius:50%;border:1px solid hsl(var(--fc-primary) / .3);animation:breathe 3s ease-in-out infinite;pointer-events:none}.fluid-chat .orb-ring-2{inset:-10px;animation-delay:-1s;border-color:hsl(var(--fc-primary) / .2)}.fluid-chat .orb-ring-3{inset:-18px;animation-delay:-2s;border-color:hsl(var(--fc-primary) / .1)}.fluid-chat.open .orb-ring{opacity:0}@keyframes breathe{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.15);opacity:.8}}.fluid-chat .orb-core{position:relative;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background-color:hsl(var(--primary));border-radius:50%;box-shadow:0 4px 12px hsl(var(--foreground) / .15);transition:transform .2s,box-shadow .2s}.fluid-chat .chat-orb:hover .orb-core{transform:scale(1.05);box-shadow:0 6px 16px hsl(var(--foreground) / .2)}.fluid-chat .orb-icon{position:absolute;width:1.25rem;height:1.25rem;color:hsl(var(--primary-foreground));transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.fluid-chat .icon-ai{opacity:1;transform:scale(1) rotate(0)}.fluid-chat .icon-close{opacity:0;transform:scale(.5) rotate(-90deg)}.fluid-chat.open .icon-ai{opacity:0;transform:scale(.5) rotate(90deg)}.fluid-chat.open .icon-close{opacity:1;transform:scale(1) rotate(0)}.fluid-chat .sparkle{transform-origin:center;animation:twinkle 2s ease-in-out infinite}.fluid-chat .sparkle-1{animation-delay:0s}.fluid-chat .sparkle-2{animation-delay:.6s}.fluid-chat .sparkle-3{animation-delay:1.2s}@keyframes twinkle{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.fluid-chat.open .sparkle{animation:none;opacity:0}.fluid-chat .notification-dot{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#ef4444;border:2px solid white;border-radius:50%;opacity:0;transform:scale(0);transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.fluid-chat .notification-dot.show{opacity:1;transform:scale(1)}.fluid-chat .quick-ring{position:absolute;bottom:0;right:0;width:200px;height:200px;pointer-events:none;opacity:0;transition:opacity .3s ease}.fluid-chat .quick-ring.active{opacity:1;pointer-events:auto}.fluid-chat .quick-action{position:absolute;width:48px;height:48px;border:none;border-radius:50%;background:var(--fc-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 15px #0000001a,0 0 0 1px var(--fc-glass-border);cursor:pointer;display:flex;align-items:center;justify-content:center;transform:scale(0) translate(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s ease}.fluid-chat .quick-action svg{width:22px;height:22px;color:hsl(var(--fc-text))}.fluid-chat .quick-action:hover{background:hsl(var(--fc-primary))}.fluid-chat .quick-action:hover svg{color:#fff}.fluid-chat .quick-ring.active .quick-action:nth-child(1){transform:scale(1) translate(-100px,-40px);transition-delay:0s}.fluid-chat .quick-ring.active .quick-action:nth-child(2){transform:scale(1) translate(-80px,-90px);transition-delay:.05s}.fluid-chat .quick-ring.active .quick-action:nth-child(3){transform:scale(1) translate(-30px,-120px);transition-delay:.1s}.fluid-chat .quick-ring.active .quick-action:nth-child(4){transform:scale(1) translate(30px,-120px);transition-delay:.15s}.fluid-chat .chat-panel{position:absolute;bottom:calc(var(--fc-orb-size) + 16px);right:0;width:var(--fc-panel-width);height:var(--fc-panel-height);max-height:calc(100vh - 140px);background:var(--fc-glass);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:var(--fc-radius);border:1px solid var(--fc-glass-border);box-shadow:var(--fc-shadow);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(20px) scale(.95);transform-origin:bottom right;transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1),visibility .4s ease}.fluid-chat.open .chat-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.fluid-chat .panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#1e293b,#0f172a);border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.fluid-chat .header-left{display:flex;align-items:center;gap:12px}.fluid-chat .avatar-pulse{position:relative;width:40px;height:40px}.fluid-chat .avatar-img{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#fff;position:relative;z-index:1;border:2px solid white;box-shadow:0 2px 8px #0000001a}.fluid-chat .avatar-ring{display:none}.fluid-chat .header-info{display:flex;flex-direction:column;gap:2px}.fluid-chat .header-title{font-size:15px;font-weight:600;color:#fff}.fluid-chat .header-status{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8}.fluid-chat .status-dot{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fluid-chat .header-actions{display:flex;gap:4px}.fluid-chat .action-btn{width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.fluid-chat .action-btn svg{width:18px;height:18px;color:#94a3b8;transition:color .2s ease}.fluid-chat .action-btn:hover{background:#ffffff1a}.fluid-chat .action-btn:hover svg{color:#fff}.fluid-chat .panel-content{flex:1 1 0;min-height:0;position:relative;background:hsl(var(--fc-surface));display:flex;flex-direction:column;overflow:hidden}.fluid-chat .chat-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:hsl(var(--fc-surface));z-index:10;transition:opacity .3s ease}.fluid-chat .chat-loader.hidden{opacity:0;pointer-events:none}.fluid-chat .chat-loader span{font-size:14px;color:hsl(var(--fc-text-muted))}.fluid-chat .loader-orb{position:relative;width:48px;height:48px}.fluid-chat .loader-ring{position:absolute;inset:0;border:2px solid transparent;border-top-color:hsl(var(--fc-primary));border-radius:50%;animation:loader-spin 1.2s linear infinite}.fluid-chat .loader-ring:nth-child(2){inset:6px;animation-direction:reverse;animation-duration:.8s}.fluid-chat .loader-ring:nth-child(3){inset:12px;animation-duration:.6s}@keyframes loader-spin{to{transform:rotate(360deg)}}.fluid-chat .welcome-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center;animation:welcomeFadeIn .5s ease-out}.fluid-chat .welcome-card.hidden{display:none}@keyframes welcomeFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fluid-chat .welcome-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,hsl(var(--fc-primary) / .15),hsl(var(--fc-primary) / .05));display:flex;align-items:center;justify-content:center;margin-bottom:16px}.fluid-chat .welcome-icon svg{width:28px;height:28px;stroke:hsl(var(--fc-primary))}.fluid-chat .welcome-title{font-size:18px;font-weight:600;color:hsl(var(--fc-text));margin:0 0 8px}.fluid-chat .welcome-text{font-size:14px;color:hsl(var(--fc-text-muted));margin:0 0 24px;max-width:260px}.fluid-chat .quick-prompts{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:300px}.fluid-chat .quick-prompt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;background:hsl(var(--fc-surface));border:1px solid hsl(var(--fc-border));border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;color:hsl(var(--fc-text))}.fluid-chat .quick-prompt:hover{background:hsl(var(--fc-primary) / .08);border-color:hsl(var(--fc-primary) / .3);transform:translateY(-2px);box-shadow:0 4px 12px hsl(var(--fc-primary) / .15)}.fluid-chat .quick-prompt:active{transform:translateY(0)}.fluid-chat .prompt-icon{font-size:20px;line-height:1}.dark .fluid-chat .welcome-card{background:transparent}.dark .fluid-chat .welcome-icon{background:linear-gradient(135deg,hsl(var(--fc-primary) / .25),hsl(var(--fc-primary) / .1))}.dark .fluid-chat .quick-prompt{background:hsl(var(--fc-surface-dark));border-color:#ffffff1a}.dark .fluid-chat .quick-prompt:hover{background:hsl(var(--fc-primary) / .15);border-color:hsl(var(--fc-primary) / .4)}.fluid-chat .webchat-container{flex:1 1 0;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.fluid-chat .webchat-container>div{width:100%!important;height:100%!important;flex:1 1 0!important;min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.fluid-chat .webchat-container>div>div,.fluid-chat .webchat-container>div>div>div{display:flex!important;flex-direction:column!important;flex:1 1 0!important;min-height:0!important;height:100%!important;overflow:hidden!important}.fluid-chat .webchat-container [class*=webchat__basic-transcript],.fluid-chat .webchat-container [role=log],.fluid-chat .webchat-container [role=list]{flex:1 1 0!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;padding-top:12px!important;scrollbar-width:thin;scrollbar-color:hsl(var(--fc-primary) / .3) transparent}.fluid-chat .webchat-container [class*=webchat__avatar],.fluid-chat .webchat-container [class*=avatar]{overflow:visible!important;flex-shrink:0!important;min-width:36px!important;min-height:36px!important}.fluid-chat .webchat-container [class*=webchat__avatar] img,.fluid-chat .webchat-container [class*=avatar] img{width:36px!important;height:36px!important;border-radius:50%!important;object-fit:cover!important;background:#fff!important;border:2px solid white!important;box-shadow:0 2px 6px #0000001a!important}.fluid-chat .webchat-container [class*=webchat__avatar]>div:not(:has(img)),.fluid-chat .webchat-container [class*=avatar__initials]{display:none!important}.fluid-chat .webchat-container [class*=webchat__send-box],.fluid-chat .webchat-container form[class*=webchat]{flex:0 0 auto!important;flex-shrink:0!important;position:relative!important;z-index:5!important;background:#fff!important;min-height:52px!important}.fluid-chat .webchat-container [class*=webchat__bubble--from-bot],.fluid-chat .webchat-container [class*=bubble][class*=bot],.fluid-chat .webchat-container [data-testid*=bubble]:not([class*=user]){background:linear-gradient(135deg,#fff,#f8fafc)!important;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a!important;border:1px solid #e2e8f0!important;animation:messageSlideIn .3s ease-out!important}.fluid-chat .webchat-container [class*=webchat__bubble--from-user],.fluid-chat .webchat-container [class*=bubble][class*=user]{background:linear-gradient(135deg,#19a1e6,#1193d4)!important;box-shadow:0 2px 12px #19a1e64d,0 1px 3px #0000001a!important;animation:messageSlideInRight .3s ease-out!important}@keyframes messageSlideIn{0%{opacity:0;transform:translate(-12px) translateY(8px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes messageSlideInRight{0%{opacity:0;transform:translate(12px) translateY(8px)}to{opacity:1;transform:translate(0) translateY(0)}}.fluid-chat .typing-indicator{display:inline-flex;align-items:center;gap:4px;padding:12px 16px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:18px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000f;margin:8px 0 8px 44px}.fluid-chat .typing-dot{width:8px;height:8px;background:hsl(var(--fc-primary) / .6);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite}.fluid-chat .typing-dot:nth-child(2){animation-delay:.2s}.fluid-chat .typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.fluid-chat .webchat-container [class*=webchat__bubble]{position:relative!important}.fluid-chat .copy-btn{position:absolute;right:-32px;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:4px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;opacity:0;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.fluid-chat .copy-btn svg{width:14px;height:14px;stroke:#64748b;transition:stroke .2s ease}.fluid-chat .webchat-container [class*=webchat__bubble]:hover .copy-btn{opacity:1}.fluid-chat .copy-btn:hover{background:hsl(var(--fc-primary) / .1);border-color:hsl(var(--fc-primary) / .3)}.fluid-chat .copy-btn:hover svg{stroke:hsl(var(--fc-primary))}.fluid-chat .copy-btn.copied{background:#10b981;border-color:#10b981}.fluid-chat .copy-btn.copied svg{stroke:#fff}.fluid-chat .webchat-container [class*=webchat__bubble--from-user] .copy-btn{right:auto;left:-32px}.fluid-chat .panel-content:before{content:"";position:absolute;top:0;left:0;right:0;height:32px;background:linear-gradient(to bottom,hsl(var(--fc-surface)) 0%,hsl(var(--fc-surface) / .8) 40%,transparent 100%);pointer-events:none;z-index:2;opacity:0;transition:opacity .3s ease}.fluid-chat .panel-content.scrolled:before{opacity:1}.fluid-chat .webchat-container ::-webkit-scrollbar{width:6px}.fluid-chat .webchat-container ::-webkit-scrollbar-track{background:transparent;margin:8px 0}.fluid-chat .webchat-container ::-webkit-scrollbar-thumb{background:hsl(var(--fc-primary) / .2);border-radius:3px;transition:background .2s ease}.fluid-chat .webchat-container ::-webkit-scrollbar-thumb:hover{background:hsl(var(--fc-primary) / .4)}.fluid-chat .webchat-container [role=log],.fluid-chat .webchat-container [class*=transcript]{scrollbar-gutter:stable}.fluid-chat .webchat-container [class*=webchat__send-box]{border-top:1px solid #e2e8f0!important;box-shadow:0 -4px 12px #0000000a!important}.fluid-chat .webchat-container [class*=webchat__send-box] input,.fluid-chat .webchat-container [class*=webchat__send-box] textarea{transition:box-shadow .2s ease!important}.fluid-chat .webchat-container [class*=webchat__send-box] input:focus,.fluid-chat .webchat-container [class*=webchat__send-box] textarea:focus{box-shadow:0 0 0 2px hsl(var(--fc-primary) / .15)!important}.fluid-chat .webchat-container [class*=webchat__send-box] button[type=submit],.fluid-chat .webchat-container [class*=send-box] button[aria-label*=Send]{transition:transform .2s ease,box-shadow .2s ease!important}.fluid-chat .webchat-container [class*=webchat__send-box] button[type=submit]:hover,.fluid-chat .webchat-container [class*=send-box] button[aria-label*=Send]:hover{transform:scale(1.1)!important}.fluid-chat .webchat-container [class*=webchat__send-box] button[type=submit]:active,.fluid-chat .webchat-container [class*=send-box] button[aria-label*=Send]:active{transform:scale(.95)!important}.fluid-chat .webchat-container [class*=suggested-action],.fluid-chat .webchat-container [class*=SuggestedAction]{transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;box-shadow:0 1px 3px #00000014!important}.fluid-chat .webchat-container [class*=suggested-action]:hover,.fluid-chat .webchat-container [class*=SuggestedAction]:hover{transform:translateY(-1px)!important;box-shadow:0 4px 12px hsl(var(--fc-primary) / .2)!important;background:hsl(var(--fc-primary) / .05)!important}.fluid-chat .keyboard-hint{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;pointer-events:none}.fluid-chat:not(.open) .keyboard-hint{opacity:.5;visibility:visible}.fluid-chat .keyboard-hint kbd{padding:2px 6px;background:#0000000f;border-radius:4px;font-family:inherit;font-size:11px;color:hsl(var(--fc-text-muted))}.fluid-chat .keyboard-hint span{font-size:10px;color:hsl(var(--fc-text-muted) / .7)}@media(max-width:480px){.fluid-chat{bottom:16px;right:16px}.fluid-chat .chat-panel{display:none}.fluid-chat.open .chat-panel{display:flex;position:fixed;bottom:0;right:0;left:0;width:100%;height:100%;max-height:100dvh;border-radius:0}.fluid-chat .ambient-glow{right:0;width:80px}.fluid-chat.open .chat-orb{position:fixed;bottom:16px;right:16px;z-index:10001}.fluid-chat #btn-expand,.fluid-chat .keyboard-hint{display:none}}.dark .fluid-chat{--fc-surface: 220, 30%, 10%;--fc-text: 220, 15%, 95%;--fc-text-muted: 220, 15%, 60%;--fc-glass: rgba(15, 23, 42, .9);--fc-glass-border: rgba(255, 255, 255, .1)}.dark .fluid-chat .quick-action{background:#1e293bf2}.dark .fluid-chat .panel-content,.dark .fluid-chat .chat-loader{background:#0f172a}.dark .fluid-chat .webchat-container [class*=webchat__send-box],.dark .fluid-chat .webchat-container form[class*=webchat]{background:#1e293b!important}@media(prefers-reduced-motion:reduce){.fluid-chat .orb-ring,.fluid-chat .avatar-ring,.fluid-chat .status-dot,.fluid-chat .loader-ring{animation:none}.fluid-chat .chat-orb,.fluid-chat .chat-panel,.fluid-chat .quick-action,.fluid-chat .orb-icon,.fluid-chat .notification-dot,.fluid-chat .ambient-glow{transition-duration:.01ms}}
