.sc-root{--sc-accent:#111827;--sc-ink:#fff;position:fixed;bottom:20px;z-index:99990;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#111827}
.sc-root *{box-sizing:border-box}
.sc-right{right:20px}.sc-left{left:20px}
.sc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sc-button{width:58px;height:58px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:var(--sc-accent);color:var(--sc-ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28);padding:0;margin:0}
.sc-button:hover{filter:brightness(1.12)}.sc-button:focus-visible,.sc-close:focus-visible,.sc-send:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.sc-panel{position:absolute;bottom:72px;width:370px;max-width:calc(100vw - 40px);height:min(560px,calc(100vh - 120px));background:#fff;border:1px solid #d6d9de;border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.25);display:flex;flex-direction:column;overflow:hidden}
.sc-panel[hidden]{display:none}
.sc-right .sc-panel{right:0}.sc-left .sc-panel{left:0}
.sc-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--sc-accent);color:var(--sc-ink)}
.sc-head strong{font-size:15px;color:var(--sc-ink)}
.sc-close{background:none;border:0;color:var(--sc-ink);font-size:26px;line-height:1;cursor:pointer;padding:0 4px;margin:0}
.sc-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#f6f7f9;overscroll-behavior:contain}
.sc-msg{max-width:86%;padding:9px 12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}
.sc-assistant{align-self:flex-start;background:#fff;border:1px solid #e3e5e9;color:#111827}
.sc-user{align-self:flex-end;background:var(--sc-accent);color:var(--sc-ink)}
.sc-msg a{color:inherit;text-decoration:underline;font-weight:600}
.sc-error{border-color:#f0b4b4;background:#fff5f5;color:#8a1c1c}
.sc-typing{display:flex;gap:4px;padding:12px}
.sc-typing span{width:7px;height:7px;border-radius:50%;background:#9aa1ad;animation:sc-dot 1s infinite ease-in-out}
.sc-typing span:nth-child(2){animation-delay:.15s}.sc-typing span:nth-child(3){animation-delay:.3s}
@keyframes sc-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.sc-form{display:flex;gap:8px;padding:10px;border-top:1px solid #e3e5e9;background:#fff;margin:0}
.sc-input{flex:1;resize:none;border:1px solid #c9cdd4;border-radius:10px;padding:9px 10px;font:inherit;font-size:16px;line-height:1.4;max-height:120px;color:#111827;background:#fff;margin:0;min-height:42px}
.sc-input:focus{outline:2px solid var(--sc-accent);outline-offset:0;border-color:transparent}
.sc-send{border:0;border-radius:10px;padding:0 14px;background:var(--sc-accent);color:var(--sc-ink);font:inherit;font-weight:600;cursor:pointer;margin:0;min-height:42px}
.sc-send:disabled{opacity:.55;cursor:default}
.sc-note{margin:0;padding:0 12px 9px;background:#fff;font-size:11.5px;color:#5f6673;line-height:1.4}
@media (max-width:600px){
  .sc-root{bottom:14px}.sc-right{right:14px}.sc-left{left:14px}
  .sc-is-open .sc-button{display:none}
  .sc-panel{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;border-radius:0;border:0}
}
@media (prefers-reduced-motion:reduce){.sc-typing span{animation:none}}
/* Themes style every button; keep the chat's own look. */
.sc-root button.sc-button,.sc-root button.sc-close,.sc-root button.sc-send{text-transform:none!important;letter-spacing:normal!important;line-height:1!important;text-shadow:none!important;font-family:inherit!important;min-width:0!important}
.sc-root button.sc-button{background:var(--sc-accent)!important;color:var(--sc-ink)!important;border:2px solid rgba(255,255,255,.85)!important;border-radius:50%!important;padding:0!important;width:58px!important;height:58px!important}
.sc-root button.sc-close{background:transparent!important;color:var(--sc-ink)!important;border:0!important;box-shadow:none!important;border-radius:6px!important;padding:0 4px!important;font-size:26px!important;width:auto!important;height:auto!important}
.sc-root button.sc-send{background:var(--sc-accent)!important;color:var(--sc-ink)!important;border:0!important;box-shadow:none!important;border-radius:10px!important;padding:0 14px!important;font-size:15px!important;font-weight:600!important;min-height:42px!important}
.sc-root textarea.sc-input{box-shadow:none!important;font-size:16px!important;border-radius:10px!important;width:auto!important}
.sc-brand{display:flex;align-items:center;gap:10px;min-width:0}.sc-root img.sc-logo{height:30px!important;width:auto!important;max-width:110px!important;border-radius:6px;display:block;margin:0!important;object-fit:contain}
