:root{--accent:#875A7B;--accent-dark:#6d4963;--accent-light:#f3ecf1;--accent-xlight:#faf7fa;--ink:#1a1523;--surface:#ffffff;--bg:#f6f4f7;--border:#e4dfe8;--muted:#8a8393;--user-bg:#875A7B;--user-fg:#ffffff;--radius:18px;--shadow:0 8px 32px rgba(135,90,123,0.18),0 2px 8px rgba(0,0,0,0.07);--font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{font-family:var(--font);color:var(--ink);background:transparent;height:100%;-webkit-font-smoothing:antialiased}.demo{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px;background:var(--bg)}.demo h1{font-size:2rem;letter-spacing:-.02em;margin-bottom:8px;color:var(--ink)}.demo p{color:var(--muted);max-width:38ch;margin:0 auto;line-height:1.6}.launcher{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 4px 18px rgba(135,90,123,.45);display:grid;place-items:center;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;z-index:9998}.launcher:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(135,90,123,.55)}.panel{position:fixed;bottom:90px;right:24px;width:min(400px,calc(100vw - 32px));height:min(580px,calc(100vh - 110px));background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;z-index:9999;animation:rise .22s cubic-bezier(.34,1.4,.64,1)}.panel--embed{position:fixed;inset:0;width:100%;height:100%;border-radius:0;box-shadow:none;border:none;animation:none}@keyframes rise{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lang-bar{justify-content:center;gap:6px;padding:8px 14px 7px;background:var(--accent-dark);flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.1)}.lang-bar,.lang-btn{display:flex;align-items:center}.lang-btn{gap:5px;padding:3px 10px 3px 7px;border-radius:20px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);cursor:pointer;font-family:inherit;font-size:.7rem;font-weight:600;letter-spacing:.04em;transition:background .15s,border-color .15s,color .15s,transform .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lang-btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);color:#fff;transform:translateY(-1px)}.lang-btn--active{background:rgba(255,255,255,.95);border-color:transparent;color:var(--accent-dark);box-shadow:0 2px 8px rgba(0,0,0,.18)}.lang-btn--active:hover{transform:none}.lang-flag{font-size:.95rem;line-height:1}.lang-code{font-size:.68rem;font-weight:700}.panel-head{background:linear-gradient(135deg,var(--accent) 0,#9b6991 100%);color:#fff;padding:14px 16px;display:flex;align-items:center;gap:12px;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.panel-head-avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex-shrink:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.panel-head-info{flex:1 1;min-width:0}.panel-head-info strong{display:block;font-size:.93rem;font-weight:700;letter-spacing:.01em}.panel-head-info span{font-size:.73rem;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:5px;margin-top:1px}.online-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px rgba(74,222,128,.7);display:inline-block;flex-shrink:0}.panel-head .close{background:rgba(255,255,255,.14);border:none;color:#fff;cursor:pointer;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;transition:background .15s;flex-shrink:0;font-size:1.1rem;line-height:1}.panel-head .close:hover{background:rgba(255,255,255,.28)}.messages{flex:1 1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.empty{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 18px;text-align:center;color:var(--muted);font-size:.86rem;line-height:1.65;margin:auto;width:100%}.empty-icon{font-size:2.2rem;margin-bottom:10px;display:block}.empty strong{display:block;color:var(--ink);font-size:.95rem;margin-bottom:6px;font-weight:600}.bubble-row{display:flex;align-items:flex-end;gap:8px}.bubble-row.user{flex-direction:row-reverse}.bubble-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-light);border:1.5px solid var(--border);display:grid;place-items:center;flex-shrink:0;color:var(--accent)}.bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:.875rem;line-height:1.58;white-space:pre-wrap;word-wrap:break-word;word-break:break-word}.bubble.assistant{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--ink)}.bubble.user{background:var(--user-bg);color:var(--user-fg);border-bottom-right-radius:4px}.msg-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;-webkit-text-decoration-color:rgba(135,90,123,.45);text-decoration-color:rgba(135,90,123,.45);word-break:break-all;transition:color .12s}.msg-link:hover{color:var(--accent-dark)}.bubble.user .msg-link{color:rgba(255,255,255,.88);-webkit-text-decoration-color:rgba(255,255,255,.4);text-decoration-color:rgba(255,255,255,.4)}.bubble.user .msg-link:hover{color:#fff}.typing{display:inline-flex;gap:5px;padding:2px 0}.typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.3s infinite both}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,70%,to{opacity:.15;transform:scale(.75)}35%{opacity:1;transform:scale(1)}}.composer{border-top:1px solid var(--border);padding:10px 12px;display:flex;align-items:flex-end;gap:10px;background:var(--surface);flex-shrink:0}.composer textarea{flex:1 1;border:1.5px solid var(--border);border-radius:14px;padding:10px 13px;font-size:.9rem;font-family:inherit;outline:none;resize:none;min-height:42px;max-height:130px;line-height:1.52;color:var(--ink);background:var(--bg);transition:border-color .15s,background .15s;overflow-y:auto}.composer textarea:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px rgba(135,90,123,.1)}.composer textarea::placeholder{color:var(--muted)}.composer button{width:42px;height:42px;border-radius:13px;border:none;background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 8px rgba(135,90,123,.35)}.composer button:hover:not(:disabled){background:var(--accent-dark);transform:scale(1.06);box-shadow:0 4px 14px rgba(135,90,123,.45)}.composer button:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}.composer-hint{padding:0 14px 7px;font-size:.7rem;color:var(--muted);text-align:right;background:var(--surface);flex-shrink:0}@media (prefers-reduced-motion:reduce){.launcher,.panel,.typing span{animation:none!important;transition:none!important}}