:root{--faqbot-primary:#0073aa;--faqbot-primary-dark:#005a87;--faqbot-primary-light:#e6f3fa;--faqbot-primary-glow:rgba(0, 115, 170, 0.25);--faqbot-text:#1a1d21;--faqbot-text-light:#6b7280;--faqbot-text-muted:#9ca3af;--faqbot-bg:#ffffff;--faqbot-bg-light:#f8fafc;--faqbot-bg-hover:#f1f5f9;--faqbot-border:#e5e7eb;--faqbot-border-light:#f3f4f6;--faqbot-shadow-sm:0 1px 2px rgba(0, 0, 0, 0.04);--faqbot-shadow:0 4px 24px rgba(0, 0, 0, 0.12),0 2px 8px rgba(0, 0, 0, 0.08);--faqbot-shadow-lg:0 12px 40px rgba(0, 0, 0, 0.15),0 4px 12px rgba(0, 0, 0, 0.1);--faqbot-shadow-button:0 4px 14px rgba(0, 115, 170, 0.35);--faqbot-radius:16px;--faqbot-radius-sm:8px;--faqbot-radius-lg:20px;--faqbot-transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);--faqbot-transition-fast:0.15s cubic-bezier(0.4, 0, 0.2, 1);--faqbot-transition-spring:0.35s cubic-bezier(0.34, 1.56, 0.64, 1)}#faqbot-widget-container{position:fixed;z-index:999999;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#faqbot-widget-container *,#faqbot-widget-container ::after,#faqbot-widget-container ::before{box-sizing:border-box}#faqbot-widget-container.faqbot-bottom-right{bottom:24px;right:24px}#faqbot-widget-container.faqbot-bottom-left{bottom:24px;left:24px}.faqbot-toggle{position:relative;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--faqbot-primary) 0,var(--faqbot-primary-dark) 100%);border:none;cursor:pointer;box-shadow:var(--faqbot-shadow-button),0 2px 8px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;transition:transform var(--faqbot-transition-spring),box-shadow var(--faqbot-transition);overflow:hidden}.faqbot-toggle::before{content:'';position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.2) 0,transparent 50%);opacity:0;transition:opacity var(--faqbot-transition)}.faqbot-toggle:hover{transform:scale(1.08) translateY(-2px);box-shadow:var(--faqbot-shadow-lg),0 6px 20px rgba(0,115,170,.4)}.faqbot-toggle:hover::before{opacity:1}.faqbot-toggle:focus{outline:0}.faqbot-toggle:focus-visible{outline:3px solid var(--faqbot-primary-glow);outline-offset:3px}.faqbot-toggle:active{transform:scale(1.02)}.faqbot-toggle svg{width:28px;height:28px;fill:#fff;transition:transform var(--faqbot-transition-spring);filter:drop-shadow(0 1px 2px rgba(0, 0, 0, .1))}.faqbot-toggle.faqbot-open svg{transform:rotate(180deg) scale(.9)}.faqbot-toggle:not(.faqbot-open)::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--faqbot-primary);animation:faqbot-pulse 2s ease-out infinite;opacity:0}@keyframes faqbot-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.3);opacity:0}}.faqbot-window{position:absolute;bottom:80px;width:400px;max-width:calc(100vw - 48px);max-height:calc(100vh - 140px);background:var(--faqbot-bg);border-radius:var(--faqbot-radius-lg);box-shadow:var(--faqbot-shadow-lg);display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(24px) scale(.92);transition:opacity var(--faqbot-transition),visibility var(--faqbot-transition),transform var(--faqbot-transition-spring);border:1px solid var(--faqbot-border-light)}.faqbot-bottom-right .faqbot-window{right:0}.faqbot-bottom-left .faqbot-window{left:0}.faqbot-window.faqbot-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.faqbot-header{background:linear-gradient(135deg,var(--faqbot-primary) 0,var(--faqbot-primary-dark) 100%);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.faqbot-header::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.08) 0,transparent 40%);pointer-events:none}.faqbot-header-title{position:relative;font-size:17px;font-weight:600;margin:0;letter-spacing:-.01em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.faqbot-header-actions{position:relative;display:flex;gap:4px}.faqbot-header-btn{background:rgba(255,255,255,.1);border:none;color:#fff;cursor:pointer;padding:8px;border-radius:var(--faqbot-radius-sm);opacity:.85;transition:opacity var(--faqbot-transition-fast),background var(--faqbot-transition-fast),transform var(--faqbot-transition-fast);display:flex;align-items:center;justify-content:center}.faqbot-header-btn:hover{opacity:1;background:rgba(255,255,255,.2);transform:scale(1.05)}.faqbot-header-btn:focus{outline:0}.faqbot-header-btn:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.faqbot-header-btn:active{transform:scale(.95)}.faqbot-header-btn svg{width:18px;height:18px;fill:currentColor}.faqbot-messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:420px;background:linear-gradient(180deg,var(--faqbot-bg-light) 0,var(--faqbot-bg) 100%)}.faqbot-message{max-width:82%;padding:14px 18px;border-radius:var(--faqbot-radius);word-wrap:break-word;position:relative;animation:faqbot-message-appear .3s cubic-bezier(.34,1.56,.64,1);line-height:1.55}@keyframes faqbot-message-appear{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.faqbot-message-user{align-self:flex-end;background:linear-gradient(135deg,var(--faqbot-primary) 0,var(--faqbot-primary-dark) 100%);color:#fff;border-bottom-right-radius:6px;box-shadow:0 2px 8px rgba(0,115,170,.25)}.faqbot-message-bot{align-self:flex-start;background:var(--faqbot-bg);color:var(--faqbot-text);border-bottom-left-radius:6px;box-shadow:var(--faqbot-shadow-sm),0 1px 3px rgba(0,0,0,.06);border:1px solid var(--faqbot-border-light)}.faqbot-message-error{align-self:center;background:linear-gradient(135deg,#fef2f2 0,#fee2e2 100%);color:#b91c1c;font-size:13px;text-align:center;border-radius:var(--faqbot-radius-sm);border:1px solid #fecaca;box-shadow:0 1px 3px rgba(185,28,28,.1);max-width:90%}.faqbot-message-bot p{margin:0 0 .75em 0}.faqbot-message-bot p:last-child{margin-bottom:0}.faqbot-message-bot strong{font-weight:600;color:var(--faqbot-text)}.faqbot-message-bot em{font-style:italic}.faqbot-message-bot code{background:var(--faqbot-bg-light);padding:3px 7px;border-radius:5px;font-family:"SF Mono",Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.88em;border:1px solid var(--faqbot-border);color:var(--faqbot-primary-dark)}.faqbot-message-bot h3,.faqbot-message-bot h4{margin:0 0 .5em 0;font-weight:600;line-height:1.35;color:var(--faqbot-text)}.faqbot-message-bot h3{font-size:1.08em}.faqbot-message-bot h4{font-size:1em}.faqbot-message-bot ol,.faqbot-message-bot ul{margin:.5em 0;padding-left:1.4em}.faqbot-message-bot li{margin:.35em 0}.faqbot-message-bot li::marker{color:var(--faqbot-primary)}.faqbot-message-bot br{display:block;content:"";margin-top:.25em}.faqbot-message-bot a{color:var(--faqbot-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--faqbot-transition-fast)}.faqbot-message-bot a:hover{border-bottom-color:var(--faqbot-primary)}.faqbot-typing{display:flex;align-items:center;gap:5px;padding:16px 20px;background:var(--faqbot-bg);border-radius:var(--faqbot-radius);border-bottom-left-radius:6px;align-self:flex-start;box-shadow:var(--faqbot-shadow-sm),0 1px 3px rgba(0,0,0,.06);border:1px solid var(--faqbot-border-light);animation:faqbot-message-appear .3s cubic-bezier(.34,1.56,.64,1)}.faqbot-typing-dot{width:8px;height:8px;background:var(--faqbot-primary);border-radius:50%;animation:faqbot-bounce 1.4s ease-in-out infinite;opacity:.7}.faqbot-typing-dot:nth-child(2){animation-delay:.16s}.faqbot-typing-dot:nth-child(3){animation-delay:.32s}@keyframes faqbot-bounce{0%,100%,60%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.faqbot-input-area{padding:16px 20px 20px;border-top:1px solid var(--faqbot-border-light);background:var(--faqbot-bg)}.faqbot-input-form{display:flex;align-items:flex-end;gap:12px;background:var(--faqbot-bg-light);border-radius:28px;padding:6px 6px 6px 20px;border:2px solid var(--faqbot-border);transition:border-color var(--faqbot-transition),box-shadow var(--faqbot-transition),background var(--faqbot-transition)}.faqbot-input-form:focus-within{border-color:var(--faqbot-primary);box-shadow:0 0 0 4px var(--faqbot-primary-glow);background:var(--faqbot-bg)}.faqbot-input{flex:1;padding:10px 0;border:none;background:0 0;font-size:15px;font-family:inherit;resize:none;outline:0;color:var(--faqbot-text);min-height:24px;max-height:120px}.faqbot-input::placeholder{color:var(--faqbot-text-muted)}.faqbot-input:disabled{cursor:not-allowed;opacity:.6}.faqbot-send-btn{width:42px;height:42px;flex-shrink:0;border:none;border-radius:50%;background:linear-gradient(135deg,var(--faqbot-primary) 0,var(--faqbot-primary-dark) 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--faqbot-transition-spring),box-shadow var(--faqbot-transition),opacity var(--faqbot-transition);box-shadow:0 2px 8px rgba(0,115,170,.3)}.faqbot-send-btn:hover:not(:disabled){transform:scale(1.08);box-shadow:0 4px 12px rgba(0,115,170,.4)}.faqbot-send-btn:active:not(:disabled){transform:scale(.95)}.faqbot-send-btn:focus{outline:0}.faqbot-send-btn:focus-visible{outline:3px solid var(--faqbot-primary-glow);outline-offset:2px}.faqbot-send-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.faqbot-send-btn svg{width:18px;height:18px;fill:currentColor;transition:transform var(--faqbot-transition-fast)}.faqbot-send-btn:hover:not(:disabled) svg{transform:translateX(1px)}.faqbot-char-counter{text-align:right;font-size:11px;color:var(--faqbot-text-muted);padding:6px 12px 0;font-variant-numeric:tabular-nums;transition:color var(--faqbot-transition-fast)}.faqbot-char-counter.faqbot-char-warning{color:#d97706;font-weight:500}.faqbot-char-counter.faqbot-char-limit{color:#dc2626;font-weight:600}.faqbot-greeting{text-align:center;color:var(--faqbot-text-light);padding:32px 24px;font-size:15px;line-height:1.6}.faqbot-greeting::before{content:'';display:block;width:48px;height:48px;margin:0 auto 16px;background:linear-gradient(135deg,var(--faqbot-primary-light) 0,var(--faqbot-bg-light) 100%);border-radius:50%;opacity:.8}.faqbot-messages::-webkit-scrollbar{width:6px}.faqbot-messages::-webkit-scrollbar-track{background:0 0;margin:8px 0}.faqbot-messages::-webkit-scrollbar-thumb{background:var(--faqbot-border);border-radius:3px;transition:background var(--faqbot-transition)}.faqbot-messages::-webkit-scrollbar-thumb:hover{background:var(--faqbot-text-muted)}.faqbot-messages{scrollbar-width:thin;scrollbar-color:var(--faqbot-border) transparent}.faqbot-powered{text-align:center;padding:12px 16px;font-size:11px;color:var(--faqbot-text-muted);background:var(--faqbot-bg-light);border-top:1px solid var(--faqbot-border-light);letter-spacing:.01em}.faqbot-powered a{color:var(--faqbot-primary);text-decoration:none;font-weight:500;transition:color var(--faqbot-transition-fast)}.faqbot-powered a:hover{color:var(--faqbot-primary-dark)}@media screen and (max-width:480px){#faqbot-widget-container{bottom:16px;right:16px;left:16px}#faqbot-widget-container.faqbot-bottom-left,#faqbot-widget-container.faqbot-bottom-right{right:16px;left:16px}.faqbot-toggle{width:58px;height:58px}.faqbot-toggle svg{width:24px;height:24px}.faqbot-toggle:not(.faqbot-open)::after{display:none}.faqbot-window{position:fixed;bottom:90px;left:16px;right:16px;width:auto;max-height:calc(100vh - 120px);border-radius:var(--faqbot-radius)}.faqbot-bottom-left .faqbot-window,.faqbot-bottom-right .faqbot-window{left:16px;right:16px}.faqbot-header{padding:16px 18px}.faqbot-header-title{font-size:16px}.faqbot-messages{padding:18px;gap:10px;max-height:350px}.faqbot-message{max-width:88%;padding:12px 16px}.faqbot-input-area{padding:12px 16px 16px}.faqbot-input-form{padding:4px 4px 4px 16px}.faqbot-input{font-size:16px}.faqbot-send-btn{width:38px;height:38px}.faqbot-send-btn svg{width:16px;height:16px}}@media (prefers-reduced-motion:reduce){.faqbot-char-counter,.faqbot-header-btn,.faqbot-input,.faqbot-input-form,.faqbot-message,.faqbot-send-btn,.faqbot-send-btn svg,.faqbot-toggle,.faqbot-toggle svg,.faqbot-toggle::after,.faqbot-toggle::before,.faqbot-window{transition:none;animation:none}.faqbot-typing-dot{animation:none;opacity:.6}@keyframes faqbot-message-appear{from,to{opacity:1;transform:none}}}#faqbot-widget-container.faqbot-theme-dark{--faqbot-text:#f3f4f6;--faqbot-text-light:#9ca3af;--faqbot-text-muted:#6b7280;--faqbot-bg:#1f2937;--faqbot-bg-light:#111827;--faqbot-bg-hover:#374151;--faqbot-border:#374151;--faqbot-border-light:#1f2937;--faqbot-primary-light:rgba(0, 115, 170, 0.2);--faqbot-primary-glow:rgba(0, 115, 170, 0.3)}#faqbot-widget-container.faqbot-theme-dark .faqbot-message-error{background:linear-gradient(135deg,#450a0a 0,#7f1d1d 100%);color:#fecaca;border-color:#991b1b}#faqbot-widget-container.faqbot-theme-dark .faqbot-message-bot{background:var(--faqbot-bg-hover);border-color:var(--faqbot-border)}#faqbot-widget-container.faqbot-theme-dark .faqbot-message-bot code{background:var(--faqbot-bg-light);border-color:var(--faqbot-border);color:#7dd3fc}#faqbot-widget-container.faqbot-theme-dark .faqbot-input-form{background:var(--faqbot-bg-light);border-color:var(--faqbot-border)}#faqbot-widget-container.faqbot-theme-dark .faqbot-input-form:focus-within{background:var(--faqbot-bg)}#faqbot-widget-container.faqbot-theme-dark .faqbot-typing{background:var(--faqbot-bg-hover);border-color:var(--faqbot-border)}#faqbot-widget-container.faqbot-theme-dark .faqbot-greeting::before{background:linear-gradient(135deg,var(--faqbot-primary-light) 0,var(--faqbot-bg-light) 100%)}@media (prefers-color-scheme:dark){#faqbot-widget-container.faqbot-theme-auto{--faqbot-text:#f3f4f6;--faqbot-text-light:#9ca3af;--faqbot-text-muted:#6b7280;--faqbot-bg:#1f2937;--faqbot-bg-light:#111827;--faqbot-bg-hover:#374151;--faqbot-border:#374151;--faqbot-border-light:#1f2937;--faqbot-primary-light:rgba(0, 115, 170, 0.2);--faqbot-primary-glow:rgba(0, 115, 170, 0.3)}#faqbot-widget-container.faqbot-theme-auto .faqbot-message-error{background:linear-gradient(135deg,#450a0a 0,#7f1d1d 100%);color:#fecaca;border-color:#991b1b}#faqbot-widget-container.faqbot-theme-auto .faqbot-message-bot{background:var(--faqbot-bg-hover);border-color:var(--faqbot-border)}#faqbot-widget-container.faqbot-theme-auto .faqbot-message-bot code{background:var(--faqbot-bg-light);border-color:var(--faqbot-border);color:#7dd3fc}#faqbot-widget-container.faqbot-theme-auto .faqbot-input-form{background:var(--faqbot-bg-light);border-color:var(--faqbot-border)}#faqbot-widget-container.faqbot-theme-auto .faqbot-input-form:focus-within{background:var(--faqbot-bg)}#faqbot-widget-container.faqbot-theme-auto .faqbot-typing{background:var(--faqbot-bg-hover);border-color:var(--faqbot-border)}#faqbot-widget-container.faqbot-theme-auto .faqbot-greeting::before{background:linear-gradient(135deg,var(--faqbot-primary-light) 0,var(--faqbot-bg-light) 100%)}}@media (prefers-contrast:high){:root{--faqbot-border:#1a1d21;--faqbot-border-light:#6b7280}.faqbot-message-bot{border-width:2px}.faqbot-input-form{border-width:2px}.faqbot-toggle:focus-visible{outline-width:3px;outline-offset:4px}}@media print{#faqbot-widget-container{display:none!important}}