.oxform-chat-float{position:fixed;right:20px;bottom:20px;z-index:99990;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.oxform-chat-bubble{--oxf-chat-accent:#2563eb;position:relative;width:56px;height:56px;border:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--oxf-chat-accent),color-mix(in srgb,var(--oxf-chat-accent) 60%,#312e81));background-color:var(--oxf-chat-accent);box-shadow:0 6px 20px rgba(15,23,42,.28);transition:transform .18s ease,box-shadow .18s ease}
.oxform-chat-bubble:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,23,42,.34)}
.oxform-chat-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--oxf-chat-accent);opacity:0;animation:oxfPulse 6s ease-out infinite}
@keyframes oxfPulse{0%,86%{transform:scale(1);opacity:0}90%{opacity:.5}100%{transform:scale(1.45);opacity:0}}
.oxform-chat-host{width:340px;max-width:calc(100vw - 40px)}
.oxform-chat-panel{--oxf-chat-accent:#2563eb;display:flex;flex-direction:column;height:480px;max-height:72vh;background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(15,23,42,.20),0 2px 8px rgba(15,23,42,.08);animation:oxfRise .22s ease-out;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
@keyframes oxfRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.oxform-chat-inline .oxform-chat-panel{height:440px}
.oxform-chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;color:#fff;background:linear-gradient(120deg,var(--oxf-chat-accent),color-mix(in srgb,var(--oxf-chat-accent) 55%,#4c1d95));background-color:var(--oxf-chat-accent);position:relative;overflow:hidden}
.oxform-chat-head::after{content:"";position:absolute;inset:-40%;background:radial-gradient(closest-side,rgba(255,255,255,.16),transparent 70%);animation:oxfSheen 9s linear infinite;pointer-events:none}
@keyframes oxfSheen{from{transform:translateX(-30%) rotate(0deg)}to{transform:translateX(30%) rotate(360deg)}}
.oxform-chat-head-name{font-weight:600;font-size:14px;letter-spacing:.01em}
.oxform-chat-head-status{display:flex;align-items:center;gap:5px;font-size:11px;opacity:.85}
.oxform-chat-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.55);animation:oxfDotPulse 2.4s infinite}
@keyframes oxfDotPulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}70%{box-shadow:0 0 0 5px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.oxform-chat-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;flex:0 0 auto;overflow:hidden;object-fit:cover}
.oxform-chat-head .oxform-chat-avatar{width:34px;height:34px;padding:3px}
.oxform-chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#fafbfd}
.oxform-chat-botrow{display:flex;align-items:flex-end;gap:8px}
.oxform-chat-botrow .oxform-chat-avatar{width:22px;height:22px;padding:2px;background:color-mix(in srgb,var(--oxf-chat-accent) 14%,#fff);color:var(--oxf-chat-accent);margin-bottom:2px}
.oxform-chat-msg{max-width:85%;padding:9px 13px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.oxform-chat-bot,.oxform-chat-agent{align-self:flex-start;background:#eef1f6;color:#0f172a;border-radius:14px 14px 14px 5px}
.oxform-chat-botrow .oxform-chat-msg{align-self:auto}
.oxform-chat-agent{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.oxform-chat-user{align-self:flex-end;color:#fff;background:linear-gradient(135deg,var(--oxf-chat-accent),color-mix(in srgb,var(--oxf-chat-accent) 72%,#1e1b4b));background-color:var(--oxf-chat-accent);border-radius:14px 14px 5px 14px}
.oxform-chat-typing{display:flex;gap:4px;align-items:center;min-height:20px}
.oxform-chat-typing span{width:7px;height:7px;border-radius:50%;background:var(--oxf-chat-accent);opacity:.5;animation:oxfChatDot 1.2s infinite ease-in-out}
.oxform-chat-typing span:nth-child(2){animation-delay:.2s}
.oxform-chat-typing span:nth-child(3){animation-delay:.4s}
@keyframes oxfChatDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.oxform-chat-sources{align-self:flex-start;font-size:11px;color:#64748b;margin:-2px 0 0 30px;padding:0 2px}
.oxform-chat-sources a{color:var(--oxf-chat-accent);text-decoration:underline}
.oxform-chat-vote{align-self:flex-start;display:flex;gap:6px;margin:-4px 0 0 30px;padding:0 2px;opacity:.45;transition:opacity .15s}
.oxform-chat-log:hover .oxform-chat-vote,.oxform-chat-vote.is-voted{opacity:1}
@media (hover:none){.oxform-chat-vote{opacity:1}}
.oxform-chat-vote-btn{background:none;border:0;padding:0 2px;cursor:pointer;font-size:12px;line-height:1;opacity:.6}
.oxform-chat-vote-btn:hover{opacity:1}
.oxform-chat-vote.is-voted .oxform-chat-vote-btn{cursor:default;opacity:.25;pointer-events:none}
.oxform-chat-vote.is-voted .oxform-chat-vote-btn.is-chosen{opacity:1}
.oxform-chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid #e9edf3;background:#fff}
.oxform-chat-text{flex:1;padding:10px 14px;border:1px solid #d6dce6;border-radius:999px;font:inherit;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}
.oxform-chat-text:focus{border-color:var(--oxf-chat-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--oxf-chat-accent) 18%,transparent)}
.oxform-chat-send{width:40px;height:40px;flex:0 0 auto;border:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--oxf-chat-accent),color-mix(in srgb,var(--oxf-chat-accent) 60%,#312e81));background-color:var(--oxf-chat-accent);transition:transform .15s ease}
.oxform-chat-send:hover{transform:rotate(-8deg) scale(1.05)}
.oxform-chat-send:active{transform:scale(.94)}
.oxform-chat-send:disabled,.oxform-chat-text:disabled{opacity:.55;cursor:not-allowed}
.oxform-chat-avatar-robot svg{display:block}
@media (prefers-reduced-motion:reduce){.oxform-chat-panel,.oxform-chat-pulse,.oxform-chat-head::after,.oxform-chat-dot,.oxform-chat-typing span{animation:none}}
.oxform-chat-launchrow{display:flex;align-items:center;gap:10px}
.oxform-chat-label{border:0;cursor:pointer;background:#fff;color:#0f172a;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;padding:9px 14px;border-radius:999px;box-shadow:0 4px 14px rgba(15,23,42,.16);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:oxfLabelIn .5s ease-out .8s backwards}
@keyframes oxfLabelIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.oxform-chat-open .oxform-chat-label{display:none}
@media (prefers-reduced-motion:reduce){.oxform-chat-label{animation:none}}
