:root{--zbl-color-primary: #4f46e5;--zbl-color-primary-dark: #4338ca;--zbl-color-primary-light: #6366f1;--zbl-color-secondary: #ef4444;--zbl-color-secondary-dark: #dc2626;--zbl-color-secondary-light: #f87171;--zbl-color-gray-50: #f9fafb;--zbl-color-gray-100: #f3f4f6;--zbl-color-gray-200: #e5e7eb;--zbl-color-gray-300: #d1d5db;--zbl-color-gray-400: #9ca3af;--zbl-color-gray-500: #6b7280;--zbl-color-gray-600: #4b5563;--zbl-color-gray-700: #374151;--zbl-color-gray-800: #1f2937;--zbl-color-gray-900: #111827;--zbl-color-white: #ffffff;--zbl-color-black: #000000;--zbl-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--zbl-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--zbl-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--zbl-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--zbl-border-radius-sm: .125rem;--zbl-border-radius-md: .375rem;--zbl-border-radius-lg: .5rem;--zbl-border-radius-xl: 1rem;--zbl-border-radius-full: 9999px;--zbl-spacing-1: .25rem;--zbl-spacing-2: .5rem;--zbl-spacing-3: .75rem;--zbl-spacing-4: 1rem;--zbl-spacing-6: 1.5rem;--zbl-spacing-8: 2rem;--zbl-spacing-12: 3rem;--zbl-spacing-16: 4rem;--zbl-font-size-xs: .75rem;--zbl-font-size-sm: .875rem;--zbl-font-size-base: 1rem;--zbl-font-size-lg: 1.125rem;--zbl-font-size-xl: 1.25rem;--zbl-transition-fast: .2s;--zbl-transition-normal: .3s;--zbl-transition-slow: .5s;--zbl-ease-in-out: cubic-bezier(.4, 0, .2, 1);--zbl-is-mobile: 0}@media (max-width: 767px){:root{--zbl-is-mobile: 1}}.chat-bubble *,.chat-window *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;margin:0;padding:0}.chat-bubble button,.chat-window button{border:none;cursor:pointer}.chat-bubble .hidden,.chat-window .hidden{display:none}.chat-bubble .fixed,.chat-window .fixed{position:fixed}.chat-bubble .absolute,.chat-window .absolute{position:absolute}.chat-bubble .relative,.chat-window .relative{position:relative}.chat-bubble .flex,.chat-window .flex{display:flex}.chat-bubble .flex-col,.chat-window .flex-col{flex-direction:column}.chat-bubble .items-center,.chat-window .items-center{align-items:center}.chat-bubble .justify-center,.chat-window .justify-center{justify-content:center}.chat-bubble .justify-between,.chat-window .justify-between{justify-content:space-between}.chat-bubble .justify-end,.chat-window .justify-end{justify-content:flex-end}.chat-bubble .w-full,.chat-window .w-full{width:100%}.chat-bubble .h-full,.chat-window .h-full{height:100%}.chat-bubble .z-50,.chat-window .z-50{z-index:50}.chat-bubble .animate-fade-in,.chat-window .animate-fade-in{animation:fadeIn .5s ease-in-out forwards}.chat-bubble .animate-bounce,.chat-window .animate-bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-25%)}}.chat-bubble .animate-pulse,.chat-window .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chat-bubble .transition-all,.chat-window .transition-all{transition:all var(--zbl-transition-normal) var(--zbl-ease-in-out)}.chat-bubble .transition-transform,.chat-window .transition-transform{transition:transform var(--zbl-transition-normal) var(--zbl-ease-in-out)}.chat-bubble .scale-0,.chat-window .scale-0{transform:scale(0)}.chat-bubble .scale-100,.chat-window .scale-100{transform:scale(1)}.chat-bubble .scale-105,.chat-window .scale-105{transform:scale(1.05)}.chat-bubble{position:fixed;z-index:50;transition:all var(--zbl-transition-slow) var(--zbl-ease-in-out)}.chat-bubble.hidden{opacity:0;transform:scale(0) translateY(10px);pointer-events:none}.chat-bubble.visible{opacity:1;transform:scale(1)}.chat-bubble-button{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background-color:var(--zbl-color-primary);color:var(--zbl-color-white);border-radius:var(--zbl-border-radius-full);box-shadow:var(--zbl-shadow-lg);padding:var(--zbl-spacing-4);cursor:pointer;animation:bounce 2s infinite}.chat-window{position:fixed;bottom:1.5rem;right:1.5rem;background-color:var(--zbl-color-white);box-shadow:var(--zbl-shadow-xl);border-radius:var(--zbl-border-radius-xl);z-index:50;display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all var(--zbl-transition-slow) var(--zbl-ease-in-out)}@media (max-width: 767px){.chat-window.mobile-fullscreen{bottom:0!important;right:0!important;width:100%!important;height:100%!important;border-radius:0!important;max-width:100%!important;max-height:100%!important;position:fixed;top:0;left:0}}.chat-window.hidden{opacity:0;transform:scale(0);transform-origin:bottom right;pointer-events:none}.chat-window.visible{opacity:1;transform:scale(1);pointer-events:auto}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:var(--zbl-spacing-6);background:linear-gradient(90deg,var(--zbl-color-gray-900),var(--zbl-color-gray-800),var(--zbl-color-gray-900));color:var(--zbl-color-white);position:relative;overflow:hidden}@media (max-width: 767px){.chat-header{padding:var(--zbl-spacing-4) var(--zbl-spacing-6)}.chat-window.mobile-fullscreen .chat-header{padding-top:max(var(--zbl-spacing-6),env(safe-area-inset-top))}}.chat-header-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#2563eb1a,#7c3aed1a)}.chat-header-content{width:100%;position:relative;z-index:10}.chat-header-title{font-size:var(--zbl-font-size-lg);font-weight:600;letter-spacing:-.025em;color:var(--zbl-color-white)}.chat-header-status{display:flex;align-items:center;margin-top:var(--zbl-spacing-1)}.chat-header-status-indicator{width:.5rem;height:.5rem;background-color:#4ade80;border-radius:var(--zbl-border-radius-full);animation:pulse 2s infinite}.chat-header-status-text{font-size:var(--zbl-font-size-xs);color:var(--zbl-color-gray-300);margin-left:var(--zbl-spacing-2)}.chat-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--zbl-spacing-3);position:relative;z-index:10}.chat-header-button{border-radius:var(--zbl-border-radius-lg);cursor:pointer;transition:all var(--zbl-transition-fast) var(--zbl-ease-in-out);width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.chat-header-button:hover{transform:scale(1.05)}.chat-header-button-reset{background-color:#ffffff1a;border:1px solid rgba(255,255,255,.1)}.chat-header-button-reset:hover{background-color:#fff3}.chat-header-button-close{background-color:#ef444433;border:1px solid rgba(239,68,68,.2)}.chat-header-button-close:hover{background-color:#ef44444d}.chat-messages{padding:var(--zbl-spacing-6);color:var(--zbl-color-gray-800);overflow-y:auto;flex:1;background:linear-gradient(180deg,rgba(249,250,251,.5),var(--zbl-color-white));display:flex;flex-direction:column;gap:var(--zbl-spacing-4)}.chat-message-container{width:100%;display:flex;opacity:1;transform:translateY(0)}.chat-message-container.animate-message{animation:fadeIn .5s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message-container.user{justify-content:flex-end}.chat-message-container.assistant{justify-content:flex-start}.chat-message{max-width:80%;padding:var(--zbl-spacing-4);border-radius:var(--zbl-border-radius-xl);box-shadow:var(--zbl-shadow-sm);transition:all var(--zbl-transition-fast)}.chat-message:hover{box-shadow:var(--zbl-shadow-md)}.chat-message.user{background:linear-gradient(90deg,var(--zbl-color-primary),var(--zbl-color-primary-dark));color:var(--zbl-color-white);border-bottom-right-radius:var(--zbl-spacing-1)}.chat-message.assistant{background-color:var(--zbl-color-white);color:var(--zbl-color-gray-800);border:1px solid rgba(229,231,235,.5);border-bottom-left-radius:var(--zbl-spacing-1)}.chat-message-text{font-size:var(--zbl-font-size-sm);line-height:1.625;text-wrap:break-word;word-break:break-word;text-overflow:ellipsis;overflow-wrap:break-word;max-width:100%}.chat-message-code{white-space:pre-wrap;overflow-x:auto;word-wrap:break-word;max-width:100%;background-color:var(--zbl-color-gray-50);border-radius:var(--zbl-border-radius-md);padding:var(--zbl-spacing-2);font-family:monospace;font-size:var(--zbl-font-size-xs);line-height:1.5}.chat-message-link{color:var(--zbl-color-primary);text-decoration:none;border-bottom:1px dotted var(--zbl-color-primary);font-weight:500;transition:all var(--zbl-transition-fast);word-break:break-all}.chat-message-link:hover{color:var(--zbl-color-primary-dark);border-bottom:1px solid var(--zbl-color-primary-dark)}.chat-message.user .chat-message-link{color:var(--zbl-color-white);border-bottom:1px dotted rgba(255,255,255,.7)}.chat-message.user .chat-message-link:hover{color:var(--zbl-color-white);border-bottom:1px solid var(--zbl-color-white);text-shadow:0 0 2px rgba(255,255,255,.5)}.chat-typing{display:flex;align-items:center;gap:var(--zbl-spacing-2);color:var(--zbl-color-gray-500);width:fit-content;margin:0 auto}.chat-typing-dots{display:flex;gap:var(--zbl-spacing-1)}.chat-typing-dot{width:.5rem;height:.5rem;background-color:var(--zbl-color-gray-400);border-radius:var(--zbl-border-radius-full);animation:bounce 1s infinite}.chat-typing-text{font-size:var(--zbl-font-size-sm)}.chat-input-container{display:flex;flex-direction:column;padding:var(--zbl-spacing-3);background-color:var(--zbl-color-white);border-top:1px solid var(--zbl-color-gray-100)}@media (max-width: 767px){.chat-input-container{padding:var(--zbl-spacing-4) var(--zbl-spacing-6);padding-bottom:max(var(--zbl-spacing-4),env(safe-area-inset-bottom))}}.chat-input-form{display:flex;width:100%;gap:var(--zbl-spacing-3)}.chat-input-wrapper{flex:1;position:relative}.chat-input{width:100%;padding:var(--zbl-spacing-3) var(--zbl-spacing-6);border:1px solid var(--zbl-color-gray-200);border-radius:var(--zbl-border-radius-xl);color:var(--zbl-color-gray-800);background-color:#f9fafb80;transition:all var(--zbl-transition-fast)}.chat-input::placeholder{color:var(--zbl-color-gray-400)}.chat-input:focus{outline:none;border-color:var(--zbl-color-primary);box-shadow:0 0 0 2px #4f46e533}.chat-send-button{padding:var(--zbl-spacing-2) var(--zbl-spacing-2);background:linear-gradient(90deg,var(--zbl-color-primary),var(--zbl-color-primary-dark));color:var(--zbl-color-white);border-radius:var(--zbl-border-radius-xl);cursor:pointer;transition:all var(--zbl-transition-fast);box-shadow:var(--zbl-shadow-lg)}.chat-send-button:hover{transform:scale(1.05);box-shadow:var(--zbl-shadow-xl)}.chat-send-button:disabled{background:linear-gradient(90deg,var(--zbl-color-gray-300),var(--zbl-color-gray-400));cursor:not-allowed;transform:scale(1);box-shadow:var(--zbl-shadow-sm)}.chat-icon{color:var(--zbl-color-white)}.chat-icon-small{width:1.25rem;height:1.25rem}.chat-icon-medium{width:1.5rem;height:1.5rem}.chat-footer{padding:var(--zbl-spacing-2);background-color:var(--zbl-color-gray-50);color:var(--zbl-color-gray-400);font-size:var(--zbl-font-size-xs);display:flex;justify-content:center;border-top:1px solid var(--zbl-color-gray-100)}@media (max-width: 767px){.chat-footer{padding-bottom:max(var(--zbl-spacing-3),env(safe-area-inset-bottom))}}.chat-footer-text{font-weight:500}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#9ca3af4d;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af80}.chat-window.visible{animation:slideUp .4s cubic-bezier(.16,1,.3,1)}.origin-bottom-right{transform-origin:bottom right}.chat-bubble-container{position:fixed;bottom:1.5rem;right:1.5rem;cursor:pointer}.chat-bubble-container:hover .chat-bubble-tooltip{opacity:1}.chat-bubble-button{position:relative;width:4rem;height:4rem;background:linear-gradient(90deg,var(--zbl-color-gray-900),var(--zbl-color-gray-800),var(--zbl-color-gray-900));border-radius:var(--zbl-border-radius-full);box-shadow:var(--zbl-shadow-xl);transition:all var(--zbl-transition-normal) var(--zbl-ease-in-out);display:flex;padding:.5rem;border:1px solid rgba(255,255,255,.1)}.chat-bubble-button:hover{box-shadow:0 25px 50px -12px #00000040;transform:scale(1.1)}.chat-bubble-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#2563eb33,#7c3aed33);border-radius:var(--zbl-border-radius-full)}.chat-bubble-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--zbl-border-radius-full);background:linear-gradient(90deg,#3b82f64d,#8b5cf64d);animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:scale(1.2);opacity:0}}.chat-bubble-icon{position:relative;display:flex;z-index:10;color:var(--zbl-color-white);border-radius:50%;overflow:hidden}.chat-bubble-svg{width:1.75rem;height:1.75rem}.chat-bubble-icon-img{width:100%;height:100%;object-fit:cover;border-radius:var(--zbl-border-radius-sm)}.chat-bubble-notification{position:absolute;top:-.25rem;right:-.25rem;width:1rem;height:1rem;background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:var(--zbl-border-radius-full);border:2px solid var(--zbl-color-white);box-shadow:var(--zbl-shadow-lg);animation:pulse 2s infinite}.chat-bubble-tooltip{position:absolute;bottom:100%;right:0;margin-bottom:.75rem;opacity:0;transition:opacity var(--zbl-transition-fast);pointer-events:none}.chat-bubble-tooltip-content{background-color:var(--zbl-color-gray-900);color:var(--zbl-color-white);font-size:var(--zbl-font-size-sm);padding:.75rem;border-radius:var(--zbl-border-radius-lg);box-shadow:var(--zbl-shadow-lg);white-space:nowrap}.chat-bubble-tooltip-arrow{position:absolute;top:100%;right:1rem;width:0;height:0;border-left:.25rem solid transparent;border-right:.25rem solid transparent;border-top:.25rem solid var(--zbl-color-gray-900)}
