:root{--brand-primary:#4f6ef7;--brand-primary-dark:#3a56d4;--brand-primary-light:#eef1ff;--brand-surface:#fff;--brand-bg:#f5f7ff;--brand-text:#1a1d2e;--brand-text-muted:#6b7280;--brand-border:#e5e7eb;--brand-error:#ef4444;--brand-error-bg:#fef2f2;--brand-error-border:#fecaca;--brand-user-bubble:#4f6ef7;--brand-bot-bubble:#f3f4f6;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #4f6ef733;--shadow-lg:0 8px 40px #00000029;--radius:16px;--radius-sm:8px;--widget-width:380px;--widget-height:520px;--z-widget:9999}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--brand-bg);color:var(--brand-text);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}.chat-bubble{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));color:#fff;cursor:pointer;width:60px;height:60px;box-shadow:var(--shadow-md);z-index:var(--z-widget);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:24px;right:24px}.chat-bubble:hover{transform:scale(1.08);box-shadow:0 6px 24px #4f6ef759}.chat-bubble:active{transform:scale(.96)}.chat-bubble--open{background:linear-gradient(135deg,#6b7280,#374151)}.chat-window{width:var(--widget-width);height:var(--widget-height);background:var(--brand-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:var(--z-widget);border:1px solid var(--brand-border);flex-direction:column;animation:.22s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;position:fixed;bottom:96px;right:24px;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-header{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.chat-header-info{align-items:center;gap:10px;display:flex}.chat-avatar-sm{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.chat-header-name{font-size:.95rem;font-weight:700}.chat-header-status{opacity:.85;align-items:center;gap:4px;font-size:.72rem;display:flex}.status-dot{background:#4ade80;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 2px #4ade804d}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:10px;padding:16px 14px;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--brand-border);border-radius:4px}.msg-row{align-items:flex-end;gap:8px;max-width:100%;display:flex}.msg-row--user{flex-direction:row-reverse}.msg-row--assistant{flex-direction:row}.msg-icon{background:var(--brand-primary-light);width:28px;height:28px;color:var(--brand-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.msg-icon--user{color:var(--brand-text-muted);background:#e5e7eb}.msg-icon--error{background:var(--brand-error-bg);color:var(--brand-error)}.msg-bubble{word-break:break-word;border-radius:18px;max-width:78%;padding:10px 14px;font-size:.875rem;line-height:1.5}.msg-bubble--assistant{background:var(--brand-bot-bubble);color:var(--brand-text);border-bottom-left-radius:4px}.msg-bubble--user{background:var(--brand-user-bubble);color:#fff;border-bottom-right-radius:4px}.msg-bubble--error{background:var(--brand-error-bg);color:var(--brand-error);border:1px solid var(--brand-error-border);border-bottom-left-radius:4px;flex-direction:column;gap:8px;display:flex}.retry-btn{background:var(--brand-error);color:#fff;cursor:pointer;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:background .15s;display:inline-flex}.retry-btn:hover{background:#dc2626}.typing-indicator{align-items:center;gap:4px;padding:2px 0;display:flex}.typing-indicator span{background:var(--brand-text-muted);border-radius:50%;width:7px;height:7px;animation:1.2s infinite bounce}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-input-area{border-top:1px solid var(--brand-border);background:var(--brand-surface);flex-shrink:0;align-items:center;gap:8px;padding:12px 14px;display:flex}.chat-input{border:1.5px solid var(--brand-border);color:var(--brand-text);background:var(--brand-bg);border-radius:24px;outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:.875rem;transition:border-color .15s}.chat-input:focus{border-color:var(--brand-primary)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.send-btn{background:linear-gradient(135deg, var(--brand-primary), var(--brand-primary-dark));color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .15s,opacity .15s;display:flex}.send-btn:hover:not(:disabled){transform:scale(1.08)}.send-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex}.icon-btn:hover{background:#ffffff40}@media (width<=480px){.chat-window{border:none;border-radius:0;width:100%;height:100dvh;bottom:0;left:0;right:0}.chat-bubble{bottom:16px;right:16px}}.markdown-body{color:inherit;font-size:inherit;line-height:1.6}.markdown-body p{margin:0 0 .35em}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{font-weight:700}.markdown-body em{font-style:italic}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:.5em 0 .25em;font-weight:700;line-height:1.3}.markdown-body h1{font-size:1.1em}.markdown-body h2{font-size:1em}.markdown-body h3{font-size:.95em}.markdown-body ul,.markdown-body ol{margin:.35em 0;padding-left:1.4em}.markdown-body li{margin-bottom:.15em}.markdown-body code{background:#0000000f;border-radius:4px;padding:.1em .35em;font-family:Consolas,Menlo,monospace;font-size:.88em}.markdown-body pre{border-radius:var(--radius-sm);background:#0000000f;margin:.4em 0;padding:.6em .8em;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{border-left:3px solid var(--brand-primary);opacity:.85;margin:.4em 0;padding-left:.75em}
