:root{--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff6ff;--bg: #f5f7fb;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #b91c1c;--radius-bubble: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;overflow:hidden}#root{height:100%}button{font:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.btn{border-radius:8px;padding:8px 16px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--accent);border:1px solid var(--border)}.btn-secondary:not(:disabled):hover{background:var(--accent-soft)}.btn-link{background:none;border:none;color:var(--text-muted);cursor:pointer;text-decoration:underline;padding:6px 10px}.btn-link:hover{color:var(--text)}.widget-panel{position:fixed;top:var(--vv-top, 0);left:0;right:0;width:100%;height:var(--vv-height, 100%);display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.widget-header{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--accent);color:#fff}.widget-avatar{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600}.widget-header-text{display:flex;flex-direction:column;min-width:0}.widget-title{font-weight:600;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#4ade80}.widget-header-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.widget-icon-btn{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:6px 8px;border-radius:8px;line-height:1}.widget-icon-btn:hover{background:#ffffff26}.chat-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding:14px 12px}.msg-row{display:flex;gap:10px}.msg-row.visitor{justify-content:flex-end}.msg-row.system,.msg-row.error{justify-content:center}.msg-col{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:85%}.avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--accent-hover)}.avatar.operator{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.msg-author{font-size:12px;color:var(--text-muted);padding-left:4px}.bubble{padding:10px 14px;border-radius:var(--radius-bubble);overflow-wrap:anywhere;white-space:pre-wrap}.bubble-visitor{background:var(--accent);color:#fff;border-bottom-right-radius:4px;max-width:85%}.bubble-assistant{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;white-space:normal}.bubble-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);font-size:14px;max-width:90%}.bubble-system{background:none;color:var(--text-muted);font-size:13px;text-align:center;padding:0 8px;max-width:90%;white-space:pre-wrap}.markdown>*:first-child{margin-top:0}.markdown>*:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol{margin:.5em 0}.markdown ul,.markdown ol{padding-left:1.4em}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:.7em 0 .4em;font-size:1.05em;line-height:1.3}.markdown a{color:var(--accent);overflow-wrap:anywhere}.markdown code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.markdown pre{background:#0f172a;color:#e2e8f0;border-radius:8px;padding:10px 12px;overflow-x:auto}.markdown pre code{background:none;border:none;padding:0;color:inherit}.markdown blockquote{margin:.5em 0;padding-left:12px;border-left:3px solid var(--border);color:var(--text-muted)}.markdown table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%}.markdown th,.markdown td{border:1px solid var(--border);padding:4px 8px}.typing-note{color:var(--text-muted);font-size:13px;padding-left:44px}.typing-dots{display:inline-flex;gap:4px;align-items:center;height:1.55em}.typing-dots span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:typing-bounce 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.status-banner{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:var(--accent-soft);border-bottom:1px solid var(--border);color:var(--accent-hover);font-size:13px;text-align:center}.status-banner.operator{background:#f0fdf4;border-bottom-color:#bbf7d0;color:#15803d}.spinner{flex:0 0 auto;width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.composer{flex:0 0 auto;display:flex;align-items:flex-end;gap:10px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface)}.composer textarea{flex:1 1 auto;resize:none;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px;max-height:120px;outline:none}.composer textarea:focus{border-color:var(--accent)}.composer textarea:disabled{opacity:.6}.composer .btn{padding:8px 14px}.center-screen{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:24px 20px}.center-title{color:var(--text-muted);font-size:15px;line-height:1.8}.center-heading{font-size:17px;font-weight:600}.lang-picker-buttons{display:flex;flex-direction:column;gap:10px;width:200px;max-width:100%}.lang-pick-btn{padding:10px 16px;font-size:15px}.stars{display:flex;gap:6px}.star-btn{background:none;border:none;cursor:pointer;font-size:32px;line-height:1;padding:2px;color:#cbd5e1;transition:transform .12s ease}.star-btn:hover{transform:scale(1.12)}.star-btn.on{color:#f59e0b}.loading-note{color:var(--text-muted);font-size:14px}@media(max-width:640px){.composer textarea{font-size:16px}}
