#lxW{position:fixed;bottom:34px;right:34px;z-index:99999;font-family:'Plus Jakarta Sans', 'Segoe UI',Tahoma,sans-serif}
#lxBtn{width:84px;height:84px;background:linear-gradient(135deg,#000000,#1a1a2e 45%,#FF5722);border:2.5px solid rgba(255,87,34,.55);border-radius:50%;color:#fff;font-size:32px;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 0 6px rgba(255,87,34,.18);transition:transform .2s;display:flex;align-items:center;justify-content:center;position:relative;animation:lxBob 2.6s ease-in-out infinite,lxPulseRing 2.2s ease-out infinite}
#lxBtn:hover{transform:scale(1.14);animation-play-state:paused}
@keyframes lxBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes lxPulseRing{0%{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 0 6px rgba(255,87,34,.18)}50%{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 0 12px rgba(255,87,34,.05)}100%{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 0 6px rgba(255,87,34,.18)}}
#lxAiTag{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);background:#FF5722;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.4px;padding:2px 8px;border-radius:9px;box-shadow:0 2px 6px rgba(0,0,0,.35);white-space:nowrap}
#lxDot{position:absolute;top:2px;right:2px;width:14px;height:14px;background:#FF5722;border-radius:50%;border:2px solid #fff;display:none}
#lxPanel{display:none;flex-direction:column;position:absolute;bottom:94px;right:0;width:420px;max-height:min(600px,calc(100vh - 150px));background:#fff;border-radius:18px;box-shadow:0 14px 44px rgba(0,0,0,.18);overflow:hidden;animation:lxSlide .22s ease}
@keyframes lxSlide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.lxH{background:linear-gradient(135deg,var(--primary-color,#2148C0),var(--secondary-color,#FF5722));padding:13px 15px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.lxHAv{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;flex-shrink:0}
.lxHT h6{margin:0;font-size:14px;font-weight:700;color:#fff}
.lxHT small{color:rgba(255,255,255,.72);font-size:11px}
.lxOnline{display:inline-block;width:7px;height:7px;background:#22c55e;border-radius:50%;margin-right:3px}
.lxClose{margin-left:auto;background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:7px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center}
.lxClose:hover{background:rgba(255,255,255,.28)}
.lxChips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 11px;max-height:84px;overflow-y:auto;overscroll-behavior:contain;background:#f4f6fc;border-bottom:1px solid #eee;flex-shrink:0;scrollbar-width:thin;scrollbar-color:#c7ccdf transparent}
.lxChips::-webkit-scrollbar{width:5px}
.lxChips::-webkit-scrollbar-thumb{background:#c7ccdf;border-radius:3px}
.lxChip{white-space:nowrap;background:#fff;border:1px solid #dde0f0;border-radius:18px;padding:5px 12px;font-size:12.5px;color:#2148C0;cursor:pointer;transition:.18s;flex-shrink:0}
.lxChip:hover{background:#2148C0;color:#fff;border-color:#2148C0}
.lxMsgs{flex:1;min-height:140px;overflow-y:auto;overscroll-behavior:contain;padding:13px 10px 13px 13px;background:#f4f6fc;display:flex;flex-direction:column;gap:9px;scrollbar-width:thin;scrollbar-color:#b7bfe0 transparent}
.lxMsgs::-webkit-scrollbar{width:7px}
.lxMsgs::-webkit-scrollbar-track{background:transparent}
.lxMsgs::-webkit-scrollbar-thumb{background:#b7bfe0;border-radius:4px;border:1.5px solid #f4f6fc}
.lxMsgs::-webkit-scrollbar-thumb:hover{background:#8f9bd6}
.lxRow{display:flex;gap:7px;align-items:flex-end}
.lxRow.u{flex-direction:row-reverse}
.lxAv{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.lxAv.b{background:linear-gradient(135deg,#2148C0,#667eea);color:#fff}
.lxAv.u{background:#e5e7eb;color:#666}
.lxBbl{max-width:82%;padding:10px 14px;border-radius:15px;font-size:14.5px;line-height:1.6}
.lxBbl.b{background:#fff;color:#1a1a2e;border-bottom-left-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.lxBbl.b:has(table.lxTbl){max-width:96%}
.lxBbl.u{background:#2148C0;color:#fff;border-bottom-right-radius:3px}
.lxBbl p{margin:0 0 8px}
.lxBbl p:last-child{margin-bottom:0}
.lxBbl ul,.lxBbl ol{margin:2px 0 8px;padding-left:20px}
.lxBbl ul:last-child,.lxBbl ol:last-child{margin-bottom:0}
.lxBbl li{margin:2px 0}
.lxBbl strong{font-weight:700}
.lxBbl code{background:#eef1fb;padding:1px 5px;border-radius:4px;font-family:Consolas,Menlo,monospace;font-size:12.5px}
.lxTblWrap{overflow-x:auto;margin:4px 0 8px;-webkit-overflow-scrolling:touch}
.lxTblWrap:last-child{margin-bottom:0}
table.lxTbl{border-collapse:collapse;width:100%;font-size:13px;min-width:220px}
table.lxTbl th,table.lxTbl td{border:1px solid #e1e5f5;padding:5px 9px;text-align:left;white-space:nowrap}
table.lxTbl th{background:#eef1fb;font-weight:700;color:#1a1a2e}
table.lxTbl tr:nth-child(even) td{background:#f8f9fd}
.lxTyp{display:flex;gap:4px;align-items:center;padding:9px 13px;background:#fff;border-radius:15px;border-bottom-left-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.lxTd{width:6px;height:6px;background:#bbb;border-radius:50%;animation:lxB .65s infinite alternate}
.lxTd:nth-child(2){animation-delay:.18s}.lxTd:nth-child(3){animation-delay:.36s}
@keyframes lxB{to{transform:translateY(-5px);background:#2148C0}}
.lxInpRow{padding:11px 13px;background:#fff;border-top:1px solid #eee;display:flex;gap:7px;align-items:flex-end;flex-shrink:0}
#lxInp{flex:1;border:1.5px solid #e2e5f0;border-radius:11px;padding:9px 12px;font-size:14px;font-family:inherit;outline:none;resize:none;max-height:76px;transition:.18s;color:#1a1a2e;line-height:1.4}
#lxInp:focus{border-color:#2148C0;box-shadow:0 0 0 3px rgba(33,72,192,.1)}
#lxInp::placeholder{color:#bbb}
#lxSend{width:36px;height:36px;background:#2148C0;border:none;border-radius:9px;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.18s;flex-shrink:0}
#lxSend:hover:not(:disabled){background:#1a3aa0}
#lxSend:disabled{background:#c8c8c8;cursor:not-allowed}
.lxFoot{text-align:center;padding:6px;border-top:1px solid #f0f0f0;background:#fff;font-size:10.5px;color:#aaa;flex-shrink:0}
@media(max-width:480px){#lxPanel{width:calc(100vw - 16px);right:0;max-height:calc(100vh - 120px)}#lxW{right:14px;bottom:16px}#lxBtn{width:68px;height:68px;font-size:26px}}

/* ---- Lexi update: new-chat button, links, button chips, accessibility ---- */
.lxClear{margin-left:auto;background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:7px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}
.lxClear:hover{background:rgba(255,255,255,.28)}
.lxClear + .lxClose{margin-left:6px}
.lxChip{font-family:inherit;line-height:1.3}
.lxChip:focus-visible,.lxClear:focus-visible,.lxClose:focus-visible,#lxSend:focus-visible{outline:2px solid #FF5722;outline-offset:2px}
.lxLink{color:#2148C0;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.lxLink:hover{color:#FF5722}
.lxBbl.u .lxLink{color:#fff}
.lxSr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ---- message too long notice ---- */
.lxLimit{padding:7px 13px;background:#fff1f0;border-top:1px solid #ffd0cc;color:#b42318;font-size:12.5px;line-height:1.4;flex-shrink:0}
#lxInp.lxOver{border-color:#d92d20}
#lxInp.lxOver:focus{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.12)}
