#kai-root{
  --kai-bg:#070b2e;
  --kai-panel:#0d1340;
  --kai-line:rgba(255,255,255,.1);
  --kai-blue:#3fa2ff;
  --kai-purple:#a238d8;
  --kai-text:#f2f5ff;
  --kai-muted:#9aa4d6;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  position:fixed;bottom:22px;z-index:99990;
  font-size:15px;line-height:1.45;
}
#kai-root.kai-left{left:22px}
#kai-root.kai-right{right:22px}
#kai-root *{box-sizing:border-box}

.kai-launch{
  width:62px;height:62px;border-radius:50%;border:0;cursor:pointer;
  background:var(--kai-blue);color:#04122e;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px rgba(63,162,255,.45);
  transition:transform .15s ease;
}
.kai-launch:hover{transform:scale(1.06)}
.kai-launch:focus-visible,.kai-send:focus-visible,.kai-chip:focus-visible,.kai-close:focus-visible{outline:3px solid #fff;outline-offset:2px}
.kai-launch svg{width:28px;height:28px}
.kai-open .kai-launch{display:none}

.kai-win{
  display:none;flex-direction:column;
  width:380px;max-width:calc(100vw - 24px);height:560px;max-height:calc(100vh - 44px);
  background:var(--kai-bg);color:var(--kai-text);
  border:1px solid var(--kai-line);border-radius:20px;overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.kai-open .kai-win{display:flex;animation:kai-pop .22s ease-out}
@keyframes kai-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.kai-head{
  display:flex;align-items:center;gap:12px;padding:14px 16px;
  background:var(--kai-panel);border-bottom:1px solid var(--kai-line);
}
.kai-avatar{
  width:38px;height:38px;border-radius:50%;flex:none;
  background:var(--kai-purple);display:flex;align-items:center;justify-content:center;
}
.kai-avatar svg{width:20px;height:20px;color:#fff}
.kai-title{font-weight:600;font-size:16px;margin:0}
.kai-sub{font-size:12.5px;color:var(--kai-muted);margin:0}
.kai-close{
  margin-left:auto;background:none;border:0;color:var(--kai-muted);cursor:pointer;
  width:32px;height:32px;border-radius:8px;font-size:22px;line-height:1;
}
.kai-close:hover{color:#fff;background:rgba(255,255,255,.08)}

.kai-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.kai-msg{max-width:84%;padding:10px 14px;border-radius:16px;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap}
.kai-bot{align-self:flex-start;background:var(--kai-panel);border:1px solid var(--kai-line);border-bottom-left-radius:5px}
.kai-user{align-self:flex-end;background:var(--kai-blue);color:#04122e;border-bottom-right-radius:5px}
.kai-msg a{color:var(--kai-blue);text-decoration:underline}
.kai-user a{color:#04122e}

.kai-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.kai-chip{
  background:transparent;color:var(--kai-text);border:1px solid var(--kai-blue);
  border-radius:999px;padding:7px 14px;font:inherit;font-size:13.5px;cursor:pointer;
}
.kai-chip:hover{background:var(--kai-blue);color:#04122e}

.kai-typing{display:flex;gap:5px;padding:13px 14px}
.kai-typing i{width:7px;height:7px;border-radius:50%;background:var(--kai-muted);animation:kai-b 1s infinite ease-in-out}
.kai-typing i:nth-child(2){animation-delay:.15s}
.kai-typing i:nth-child(3){animation-delay:.3s}
@keyframes kai-b{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}

.kai-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--kai-line);background:var(--kai-panel)}
.kai-input{
  flex:1;min-width:0;background:var(--kai-bg);color:var(--kai-text);
  border:1px solid var(--kai-line);border-radius:12px;padding:11px 14px;font:inherit;
}
.kai-input::placeholder{color:var(--kai-muted)}
.kai-input:focus{outline:2px solid var(--kai-blue);outline-offset:0;border-color:transparent}
.kai-send{
  flex:none;width:44px;height:44px;border:0;border-radius:12px;cursor:pointer;
  background:var(--kai-blue);color:#04122e;display:flex;align-items:center;justify-content:center;
}
.kai-send:disabled{opacity:.5;cursor:default}
.kai-send svg{width:20px;height:20px}

@media (max-width:520px){
  #kai-root.kai-open{inset:0;bottom:0;left:0;right:0}
  .kai-open .kai-win{width:100vw;max-width:100vw;height:100%;max-height:100%;border-radius:0;border:0}
}
@media (prefers-reduced-motion:reduce){
  .kai-open .kai-win,.kai-typing i{animation:none}
  .kai-body{scroll-behavior:auto}
}

/* Theme-proofing: stop site/Elementor button + scrollbar styles from leaking in */
#kai-root button{font-family:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;margin:0}
#kai-root .kai-close{
  width:34px;height:34px;min-width:34px;padding:0;border:0;border-radius:8px;
  background:transparent;color:var(--kai-muted);font-size:24px;line-height:1;
  display:flex;align-items:center;justify-content:center;flex:none;
}
#kai-root .kai-close:hover{background:rgba(255,255,255,.1);color:#fff}
#kai-root .kai-launch{width:62px;height:62px;min-width:62px;padding:0;border-radius:50%;background:var(--kai-blue);color:#04122e;display:flex}
#kai-root.kai-open .kai-launch{display:none}
#kai-root .kai-send{width:44px;height:44px;min-width:44px;padding:0;border-radius:12px;background:var(--kai-blue);color:#04122e}
#kai-root .kai-chip{padding:7px 14px;background:transparent;color:var(--kai-text);border:1px solid var(--kai-blue);border-radius:999px}
#kai-root .kai-chip:hover{background:var(--kai-blue);color:#04122e}
#kai-root .kai-input{height:44px;margin:0;box-shadow:none}
#kai-root .kai-body{scrollbar-width:thin;scrollbar-color:#3a4486 transparent}
#kai-root .kai-body::-webkit-scrollbar{width:8px}
#kai-root .kai-body::-webkit-scrollbar-track{background:transparent}
#kai-root .kai-body::-webkit-scrollbar-thumb{background:#3a4486;border-radius:8px}
#kai-root .kai-title,#kai-root .kai-sub{margin:0;padding:0;color:inherit}
#kai-root .kai-sub{color:var(--kai-muted)}
