@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Sora:wght@400;500;600;700&display=swap";:root{--brand-hue: 217;--brand-sat: 91%;--brand-primary: hsl(var(--brand-hue), var(--brand-sat), 38%);--brand-primary-light: hsl(var(--brand-hue), var(--brand-sat), 55%);--brand-primary-dark: hsl(var(--brand-hue), var(--brand-sat), 28%);--brand-glow: hsla(var(--brand-hue), var(--brand-sat), 55%, .35);--surface-base: #ffffff;--surface-overlay: rgba(255, 255, 255, .82);--surface-overlay-dark: rgba(255, 255, 255, .65);--surface-raised: rgba(248, 250, 253, .95);--surface-input: rgba(241, 245, 249, .8);--surface-hover: rgba(241, 245, 249, .9);--text-primary: hsl(220, 30%, 10%);--text-secondary: hsl(220, 15%, 35%);--text-tertiary: hsl(220, 10%, 60%);--text-inverse: #ffffff;--text-on-brand: #ffffff;--border-default: rgba(220, 228, 240, .7);--border-strong: rgba(200, 212, 230, .9);--border-brand: hsla(var(--brand-hue), var(--brand-sat), 55%, .4);--border-focus: hsla(var(--brand-hue), var(--brand-sat), 55%, .8);--status-online: #10b981;--status-online-glow: rgba(16, 185, 129, .4);--status-error: #ef4444;--status-warning: #f59e0b;--shadow-sm: 0 2px 8px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08), 0 4px 8px rgba(15, 23, 42, .05);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .12), 0 8px 16px rgba(15, 23, 42, .07);--shadow-brand: 0 8px 24px hsla(var(--brand-hue), var(--brand-sat), 55%, .3);--shadow-button: 0 4px 12px hsla(var(--brand-hue), var(--brand-sat), 45%, .35);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--font-display: "Sora", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--transition-fast: .15s var(--ease-smooth);--transition-base: .25s var(--ease-smooth);--transition-slow: .4s var(--ease-smooth);--blur-sm: blur(8px);--blur-md: blur(16px);--blur-lg: blur(24px);--z-widget: 99999}[data-theme=dark]{--surface-base: #0f1117;--surface-overlay: rgba(18, 22, 32, .88);--surface-overlay-dark: rgba(14, 18, 28, .92);--surface-raised: rgba(25, 31, 46, .95);--surface-input: rgba(30, 37, 55, .8);--surface-hover: rgba(35, 43, 64, .9);--text-primary: hsl(220, 30%, 92%);--text-secondary: hsl(220, 20%, 65%);--text-tertiary: hsl(220, 15%, 45%);--text-inverse: hsl(220, 30%, 10%);--border-default: rgba(55, 70, 100, .5);--border-strong: rgba(70, 88, 130, .7);--border-brand: hsla(var(--brand-hue), var(--brand-sat), 55%, .3);--border-focus: hsla(var(--brand-hue), var(--brand-sat), 55%, .7);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25), 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35), 0 4px 8px rgba(0, 0, 0, .2);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .5), 0 8px 16px rgba(0, 0, 0, .3);--shadow-brand: 0 8px 24px hsla(var(--brand-hue), var(--brand-sat), 55%, .4);--shadow-button: 0 4px 12px hsla(var(--brand-hue), var(--brand-sat), 45%, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.chatbot-widget *{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chatbot-scrollbar::-webkit-scrollbar{width:4px}.chatbot-scrollbar::-webkit-scrollbar-track{background:transparent}.chatbot-scrollbar::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);transition:background var(--transition-fast)}.chatbot-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@keyframes widgetScaleIn{0%{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes widgetFadeOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(12px)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typingDot{0%,60%,to{transform:translateY(0) scale(.85);opacity:.4}30%{transform:translateY(-6px) scale(1);opacity:1}}@keyframes togglePulse{0%{box-shadow:0 0 0 0 var(--brand-glow)}70%{box-shadow:0 0 0 12px transparent}to{box-shadow:0 0 0 0 transparent}}@keyframes spinSmooth{to{transform:rotate(360deg)}}@keyframes onlinePulse{0%,to{box-shadow:0 0 0 0 var(--status-online-glow);transform:scale(1)}50%{box-shadow:0 0 0 4px transparent;transform:scale(1.1)}}@keyframes ripple{0%{transform:scale(0);opacity:.4}to{transform:scale(4);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes notifBounce{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(.9)}75%{transform:scale(1.1)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes focusGlow{0%{box-shadow:0 0 0 0 var(--brand-glow)}to{box-shadow:0 0 0 4px transparent}}@keyframes copySuccess{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes headerSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-widget-in{animation:widgetScaleIn .35s cubic-bezier(.34,1.56,.64,1) both}.animate-message-in{animation:messageSlideIn .28s cubic-bezier(0,0,.2,1) both}.animate-spin-smooth{animation:spinSmooth .8s linear infinite}.animate-pulse-online{animation:onlinePulse 2.5s ease-in-out infinite}.animate-toggle-pulse{animation:togglePulse 2.5s ease-out infinite}.animate-notif-bounce{animation:notifBounce .5s var(--ease-spring)}.animate-copy-success{animation:copySuccess .3s var(--ease-spring)}.stagger-1{animation-delay:0ms}.stagger-2{animation-delay:40ms}.stagger-3{animation-delay:80ms}.stagger-4{animation-delay:.12s}.chatbot-widget,.widget-container{font-family:var(--font-body);position:fixed;bottom:max(24px,env(safe-area-inset-bottom,24px));right:max(24px,env(safe-area-inset-right,24px));z-index:var(--z-widget);display:flex;flex-direction:column-reverse;align-items:flex-end;gap:12px}.widget-wrapper{display:flex;flex-direction:column;align-items:flex-end}.chat-window{width:400px;max-width:calc(100vw - 28px);background:var(--surface-overlay);backdrop-filter:var(--blur-md);-webkit-backdrop-filter:var(--blur-md);border:1px solid var(--border-default);border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform-origin:bottom right;transition:height .28s cubic-bezier(.4,0,.2,1),border-radius .28s cubic-bezier(.4,0,.2,1)}.chat-window--expanded{height:620px;max-height:min(620px,calc(100dvh - 110px));border-radius:var(--radius-2xl)}.chat-window--minimized{height:64px;max-height:64px;border-radius:var(--radius-xl)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-secondary, var(--brand-primary)) 100%);background-size:200% 200%;animation:gradientShift 8s ease infinite;position:relative;overflow:hidden;flex-shrink:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.chat-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff14;pointer-events:none}.chat-header:after{content:"";position:absolute;top:-30px;right:-20px;width:120px;height:120px;background:#ffffff14;border-radius:50%;pointer-events:none}.header-identity{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:2px 4px 2px 0;border-radius:var(--radius-md);transition:background var(--transition-fast);text-align:left;min-width:0;flex:1}.header-identity:hover{background:#ffffff14}.header-avatar-wrap{position:relative;flex-shrink:0}.online-dot{position:absolute;bottom:2px;right:2px;width:9px;height:9px;background-color:var(--status-online);border-radius:50%;border:2px solid rgba(255,255,255,.95)}.header-info{display:flex;flex-direction:column;gap:2px}.header-title{font-family:var(--font-display);font-size:clamp(13px,2vw,15px);font-weight:600;color:#fff;line-height:1.2;letter-spacing:-.02em}.header-subtitle{font-size:11px;color:#fffc;display:flex;align-items:center;gap:4px}.online-label{font-weight:600;color:#6ee7b7}.header-actions{display:flex;align-items:center;gap:2px;position:relative;z-index:1}.header-btn{width:26px;height:26px;border-radius:6px;border:none;background:#ffffff1a;color:#ffffffd9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-shrink:0}.header-btn:hover{background:#fff3;color:#fff;transform:scale(1.1)}.header-btn:active{transform:scale(.92)}.header-btn--close:hover{background:#ef444466}.avatar{border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar--bot{background:var(--surface-raised);border:1.5px solid var(--border-default);padding:5px}.avatar--bot img{width:100%;height:100%;object-fit:contain;display:block}[data-theme=light] .avatar--bot img{filter:brightness(0) opacity(.75)}.avatar--user{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand)}.avatar__fallback{font-size:14px;font-weight:600;color:inherit}.messages-container{flex:1;padding:20px 16px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;scroll-behavior:smooth;background:var(--surface-base);background-image:radial-gradient(circle at 20% 80%,hsla(var(--brand-hue),70%,95%,.3) 0%,transparent 50%)}[data-theme=dark] .messages-container{background-image:radial-gradient(circle at 20% 80%,hsla(var(--brand-hue),40%,15%,.4) 0%,transparent 50%)}.message-wrapper{display:flex;align-items:flex-end;gap:8px}.message-wrapper--bot{flex-direction:row}.message-wrapper--user{flex-direction:row-reverse}.message-body{display:flex;flex-direction:column;max-width:78%;gap:4px}.message-body--bot{align-items:flex-start}.message-body--user{align-items:flex-end}.message-bubble{padding:10px 14px;border-radius:var(--radius-lg);font-size:14px;line-height:1.6;word-break:break-word;position:relative;transition:box-shadow var(--transition-fast)}.message-bubble--bot{background:var(--surface-raised);color:var(--text-primary);border-bottom-left-radius:var(--radius-xs);border:1px solid var(--border-default)}.message-bubble--bot:hover{box-shadow:var(--shadow-sm)}.message-bubble--user{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-secondary, var(--brand-primary)) 100%);color:#fff;border-bottom-right-radius:var(--radius-xs);box-shadow:var(--shadow-button)}.msg-paragraph{margin:0 0 6px}.msg-paragraph:last-child{margin-bottom:0}.msg-list{margin:6px 0;padding-left:20px}.msg-list--ordered{list-style-type:decimal}.msg-list-item{margin-bottom:2px}.msg-code-inline{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;background:#00000014;border-radius:var(--radius-xs);padding:1px 5px}[data-theme=dark] .msg-code-inline{background:#ffffff1a}.msg-code-block{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;background:#0000000f;border-radius:var(--radius-sm);padding:10px 12px;margin:6px 0;overflow-x:auto;border:1px solid var(--border-default);white-space:pre-wrap}[data-theme=dark] .msg-code-block{background:#00000059}.msg-link{color:var(--brand-primary-light);text-decoration:underline;text-underline-offset:2px}.msg-user-text{margin:0;white-space:pre-wrap}.message-footer{display:flex;align-items:center;gap:5px;padding:0 2px}.message-footer--bot{flex-direction:row}.message-footer--user{flex-direction:row-reverse}.message-time{font-size:10.5px;color:var(--text-tertiary);line-height:1;font-variant-numeric:tabular-nums}.copy-btn{width:24px;height:24px;border-radius:var(--radius-xs);border:none;background:transparent;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast);touch-action:manipulation}@media (hover: hover){.message-wrapper:hover .copy-btn{opacity:1}}@media (hover: none){.copy-btn{opacity:.55}}.copy-btn:hover{background:var(--surface-hover);color:var(--text-secondary)}.copy-btn--success{opacity:1!important;color:var(--status-online)!important;animation:copySuccess .3s var(--ease-spring)}.typing-bubble{background:var(--surface-raised);border:1px solid var(--border-default);padding:12px 16px;border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-xs);display:inline-flex;align-items:center;gap:5px}.typing-dot{width:7px;height:7px;background:var(--brand-primary);border-radius:50%;animation:typingDot 1.5s ease-in-out infinite;opacity:.4}.typing-dot:nth-child(1){animation-delay:0ms}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.quick-replies-container{padding:0 0 4px;background:var(--surface-base);flex-shrink:0;overflow:hidden}.quick-replies{display:flex;flex-wrap:nowrap;gap:7px;padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.quick-replies::-webkit-scrollbar{display:none}.quick-badge{padding:7px 13px;background:var(--surface-raised);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:var(--radius-full);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:var(--font-body);transition:all var(--transition-fast);line-height:1}.quick-badge:hover{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary);transform:translateY(-1px);box-shadow:var(--shadow-button)}.quick-badge:active{transform:translateY(0)}.input-container{padding:12px 14px 10px;background:var(--surface-base);border-top:1px solid var(--border-default);flex-shrink:0}.input-form{display:flex;align-items:flex-end;gap:8px;background:var(--surface-input);border:1.5px solid var(--border-default);border-radius:var(--radius-xl);padding:8px 8px 8px 14px;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input-form:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand-glow)}.input-form--busy{opacity:.7}.input-field{flex:1;background:transparent;border:none;outline:none;resize:none;font-family:var(--font-body);font-size:16px;color:var(--text-primary);line-height:1.5;max-height:120px;padding:2px 0;overflow-y:auto;touch-action:manipulation}.input-field::placeholder{color:var(--text-tertiary)}.input-field:disabled{cursor:not-allowed}.send-button{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-full);border:none;display:flex;align-items:center;justify-content:center;background:var(--border-default);color:var(--text-tertiary);cursor:not-allowed;transition:all var(--transition-base);position:relative;overflow:hidden}.send-button--active{background:var(--brand-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-button)}.send-button--active:hover{background:var(--brand-primary-light);transform:scale(1.06);box-shadow:var(--shadow-brand)}.send-button--active:active{transform:scale(.94)}.input-footer{display:flex;justify-content:space-between;align-items:center;padding:5px 2px 0}.input-hint{font-size:10.5px;color:var(--text-tertiary)}.input-hint kbd{font-family:var(--font-body);font-size:10px;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:3px;padding:0 4px;color:var(--text-secondary)}.char-counter{font-size:10.5px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.char-counter--over{color:var(--status-error);font-weight:600}.powered-by{text-align:center;font-size:11px;color:var(--text-tertiary);margin-top:8px}.powered-by a{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.powered-by a:hover{color:var(--brand-primary)}.error-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ef44441a;border-bottom:1px solid rgba(239,68,68,.2);color:#dc2626;font-size:12.5px;flex-shrink:0}[data-theme=dark] .error-banner{background:#ef444426;color:#fca5a5}.error-banner span{flex:1;line-height:1.4}.error-dismiss{background:none;border:none;cursor:pointer;color:inherit;opacity:.7;padding:2px;border-radius:var(--radius-xs);display:flex;align-items:center;transition:opacity var(--transition-fast)}.error-dismiss:hover{opacity:1}.toggle-button{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-secondary, var(--brand-primary)) 100%);border:none;box-shadow:var(--shadow-brand),var(--shadow-md);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;transition:transform var(--transition-base),box-shadow var(--transition-base)}.toggle-button:hover{transform:scale(1.08) translateY(-2px);box-shadow:var(--shadow-brand),var(--shadow-lg)}.toggle-button:active{transform:scale(.96)}.toggle-notif{position:absolute;top:4px;right:4px;width:11px;height:11px;background:var(--status-online);border:2px solid #ffffff;border-radius:50%;animation:notifBounce .6s var(--ease-spring) 1.5s both}[data-theme=dark] .chat-window{background:var(--surface-overlay);border-color:var(--border-default)}[data-theme=dark] .messages-container,[data-theme=dark] .input-container,[data-theme=dark] .quick-replies-container{background:var(--surface-base)}[data-theme=dark] .message-bubble--bot{background:var(--surface-raised);border-color:var(--border-default)}@media (max-width: 768px) and (min-width: 481px){.chat-window{width:360px}.chat-window--expanded{max-height:min(580px,calc(100dvh - 100px))}}@media (max-width: 480px){.chatbot-widget{bottom:0;right:0;left:0;gap:0;padding-right:max(16px,env(safe-area-inset-right,16px));padding-bottom:max(16px,env(safe-area-inset-bottom,16px));align-items:flex-end}.toggle-button{width:56px;height:56px;margin-right:max(16px,env(safe-area-inset-right,16px));margin-bottom:max(16px,env(safe-area-inset-bottom,16px))}.widget-wrapper{width:100%;align-items:stretch}.chat-window{width:100%;max-width:100%;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-bottom:none;transform-origin:bottom center}.chat-window--expanded{height:calc(100dvh - 70px);max-height:calc(100dvh - 70px)}.header-btn{width:32px;height:32px;border-radius:6px}.send-button{width:44px;height:44px}.quick-badge{padding:10px 14px;font-size:13px;flex-shrink:0}.messages-container{padding:16px 12px;gap:14px}.message-body{max-width:86%}.input-container{padding-bottom:max(12px,env(safe-area-inset-bottom,12px))}.input-hint{display:none}.input-footer{justify-content:flex-end}.quick-badge:hover,.send-button--active:hover{transform:none}.copy-btn{opacity:.6;width:28px;height:28px}.header-title{max-width:calc(100vw - 220px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-subtitle{display:none}}@media (max-width: 360px){.header-btn:nth-child(n+3){display:none}.message-body{max-width:90%}}@media (max-height: 500px) and (max-width: 900px){.chat-window--expanded{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.messages-container{padding:10px 14px;gap:8px}.input-container{padding:8px 12px max(8px,env(safe-area-inset-bottom,8px))}.powered-by{display:none}}@media (pointer: coarse){.header-btn{min-width:36px;min-height:36px}.quick-badge{min-height:40px;padding-top:10px;padding-bottom:10px}.send-button{min-width:44px;min-height:44px}.toggle-button:hover{transform:none;box-shadow:var(--shadow-brand),var(--shadow-md)}.toggle-button:active{transform:scale(.94)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
