#v3ai-root.v3ai-widget{
  --v3ai-panel-radius:22px;
  --v3ai-control-radius:14px;
  --v3ai-input-radius:15px;
  position:fixed!important;
  z-index:999999!important;
  font-family:inherit;
  color:var(--v3ai-assistant-text)!important;
  box-sizing:border-box;
}
#v3ai-root.v3ai-widget *,
#v3ai-root.v3ai-widget *::before,
#v3ai-root.v3ai-widget *::after{box-sizing:border-box}

/* Keep the complete widget anchored even when a theme resets positioned elements. */
html body #v3ai-root.v3ai-widget.v3ai-right{right:var(--v3ai-side-offset)!important;left:auto!important;bottom:var(--v3ai-bottom-offset)!important;top:auto!important}
html body #v3ai-root.v3ai-widget.v3ai-left{left:var(--v3ai-side-offset)!important;right:auto!important;bottom:var(--v3ai-bottom-offset)!important;top:auto!important}

/* Isolate controls from aggressive theme button rules such as Salient's. */
html body #v3ai-root.v3ai-widget button{
  -webkit-appearance:none!important;
  appearance:none!important;
  font:inherit!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  text-shadow:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
html body #v3ai-root.v3ai-widget button::before,
html body #v3ai-root.v3ai-widget button::after{display:none!important;content:none!important}

#v3ai-root.v3ai-widget .v3ai-panel[hidden]{display:none!important}

html body #v3ai-root.v3ai-widget button.v3ai-launcher{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:var(--v3ai-launcher-size)!important;
  height:var(--v3ai-launcher-size)!important;
  min-width:var(--v3ai-launcher-size)!important;
  min-height:var(--v3ai-launcher-size)!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  -webkit-border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:var(--v3ai-launcher-bg)!important;
  color:var(--v3ai-launcher-icon)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
  cursor:pointer;
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}
#v3ai-root.v3ai-widget.v3ai-gradient-enabled button.v3ai-launcher{background:linear-gradient(135deg,var(--v3ai-launcher-bg),var(--v3ai-header-end))!important}
#v3ai-root.v3ai-widget .v3ai-launcher:hover{transform:translateY(-2px) scale(1.03);background:var(--v3ai-launcher-hover-bg)!important;box-shadow:0 16px 34px rgba(0,0,0,.22)!important}
#v3ai-root.v3ai-widget .v3ai-launcher:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px var(--v3ai-primary),0 14px 32px rgba(0,0,0,.2)!important}
#v3ai-root.v3ai-widget .v3ai-launcher svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

#v3ai-root.v3ai-widget .v3ai-panel{
  position:absolute;
  right:0;
  left:auto;
  bottom:88px;
  width:min(var(--v3ai-panel-width),calc(100vw - 28px));
  height:min(var(--v3ai-panel-height),calc(100vh - 122px));
  background:var(--v3ai-panel-bg)!important;
  border-radius:var(--v3ai-panel-radius)!important;
  -webkit-border-radius:var(--v3ai-panel-radius)!important;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(19,31,53,var(--v3ai-shadow-alpha));
  border:1px solid var(--v3ai-panel-border)!important;
  display:flex;
  flex-direction:column;
  color:var(--v3ai-assistant-text)!important;
  opacity:0;
  transform:translateY(18px) scale(.985);
  transform-origin:bottom right;
  transition:opacity .2s ease,transform .2s ease;
}
#v3ai-root.v3ai-widget .v3ai-panel.v3ai-open{opacity:1;transform:translateY(0) scale(1)}
#v3ai-root.v3ai-widget.v3ai-left .v3ai-panel{left:0;right:auto;transform-origin:bottom left}

#v3ai-root.v3ai-widget .v3ai-header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:16px 18px;background:var(--v3ai-header-start)!important;color:var(--v3ai-header-icon)!important}
#v3ai-root.v3ai-widget.v3ai-gradient-enabled .v3ai-header{background:linear-gradient(135deg,var(--v3ai-header-start),var(--v3ai-header-end))!important}
#v3ai-root.v3ai-widget .v3ai-brand-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.34);color:var(--v3ai-header-text)!important}
#v3ai-root.v3ai-widget .v3ai-brand-icon svg{width:17px;height:17px}
#v3ai-root.v3ai-widget .v3ai-heading{display:flex;flex-direction:column;line-height:1.15;min-width:0}
#v3ai-root.v3ai-widget .v3ai-heading strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--v3ai-header-title)!important}
#v3ai-root.v3ai-widget .v3ai-heading span{font-size:12px;margin-top:4px;color:var(--v3ai-header-subtitle)!important}
html body #v3ai-root.v3ai-widget button.v3ai-icon-btn{appearance:none!important;border:0!important;background:transparent!important;line-height:1!important;cursor:pointer;color:var(--v3ai-header-action)!important;padding:6px!important;border-radius:8px!important;-webkit-border-radius:8px!important;display:grid!important;place-items:center!important;box-shadow:none!important}
#v3ai-root.v3ai-widget .v3ai-icon-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#v3ai-root.v3ai-widget .v3ai-icon-btn:hover{background:rgba(255,255,255,.28)!important}
#v3ai-root.v3ai-widget .v3ai-icon-btn:focus-visible{outline:2px solid #111;outline-offset:1px}

#v3ai-root.v3ai-widget .v3ai-messages{flex:1;min-height:0;overflow-y:auto;padding:20px 18px;background:var(--v3ai-panel-bg)!important;scroll-behavior:smooth}
#v3ai-root.v3ai-widget .v3ai-message{width:fit-content;max-width:84%;padding:14px 17px;border-radius:20px;margin:0 0 13px;font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
#v3ai-root.v3ai-widget .v3ai-assistant-message,
#v3ai-root.v3ai-widget .v3ai-assistant-message p,
#v3ai-root.v3ai-widget .v3ai-assistant-message div,
#v3ai-root.v3ai-widget .v3ai-assistant-message span,
#v3ai-root.v3ai-widget .v3ai-assistant-message strong,
#v3ai-root.v3ai-widget .v3ai-assistant-message li{color:var(--v3ai-assistant-text)!important}
#v3ai-root.v3ai-widget .v3ai-user-message,
#v3ai-root.v3ai-widget .v3ai-user-message p,
#v3ai-root.v3ai-widget .v3ai-user-message div,
#v3ai-root.v3ai-widget .v3ai-user-message span,
#v3ai-root.v3ai-widget .v3ai-user-message strong{color:var(--v3ai-visitor-text)!important}
#v3ai-root.v3ai-widget .v3ai-assistant-message{background:var(--v3ai-assistant-bg)!important;color:var(--v3ai-assistant-text)!important;border:1px solid var(--v3ai-assistant-border)!important;border-top-left-radius:8px}
#v3ai-root.v3ai-widget .v3ai-user-message{margin-left:auto;background:var(--v3ai-visitor-bg)!important;color:var(--v3ai-visitor-text)!important;border:1px solid var(--v3ai-visitor-border)!important;border-top-right-radius:8px}
#v3ai-root.v3ai-widget .v3ai-message-label,
#v3ai-root.v3ai-widget .v3ai-message-label span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--v3ai-assistant-label)!important;margin-bottom:7px}
#v3ai-root.v3ai-widget .v3ai-label-icon{display:inline-grid;place-items:center;flex:0 0 auto}
#v3ai-root.v3ai-widget .v3ai-label-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#v3ai-root.v3ai-widget .v3ai-message-body{margin:0}
#v3ai-root.v3ai-widget .v3ai-message-line{min-height:1.5em}
#v3ai-root.v3ai-widget .v3ai-message-line strong{font-weight:700}
#v3ai-root.v3ai-widget .v3ai-sources{font-size:12px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(0,0,0,.09)}
#v3ai-root.v3ai-widget .v3ai-sources span{display:block;font-weight:700;margin-bottom:3px;color:var(--v3ai-sources-heading)!important}
#v3ai-root.v3ai-widget .v3ai-sources a{display:block;color:var(--v3ai-sources-link)!important;text-decoration:underline;margin-top:3px}
#v3ai-root.v3ai-widget .v3ai-sources a:hover{color:var(--v3ai-sources-link-hover)!important}

#v3ai-root.v3ai-widget .v3ai-form{flex:0 0 auto;display:grid;grid-template-columns:1fr 56px;align-items:stretch;gap:9px;padding:12px 14px 6px;border-top:1px solid #e7e9ee;background:var(--v3ai-panel-bg)!important}
html body #v3ai-root.v3ai-widget .v3ai-form textarea{resize:none;height:56px;min-height:56px;max-height:110px;border:2px solid var(--v3ai-input-border)!important;border-radius:15px!important;-webkit-border-radius:15px!important;padding:15px 16px;font:inherit;font-size:15px;line-height:1.35;color:var(--v3ai-input-text)!important;caret-color:var(--v3ai-input-caret)!important;outline:none;background:var(--v3ai-input-bg)!important;box-shadow:none}
#v3ai-root.v3ai-widget .v3ai-form textarea:focus{border-color:var(--v3ai-input-focus)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v3ai-input-focus) 22%,transparent)!important}
html body #v3ai-root.v3ai-widget button.v3ai-send{appearance:none!important;border:0!important;border-radius:14px!important;-webkit-border-radius:14px!important;background:var(--v3ai-send-bg)!important;cursor:pointer;color:var(--v3ai-send-icon)!important;display:grid!important;place-items:center!important;padding:0!important;box-shadow:none!important}
#v3ai-root.v3ai-widget .v3ai-send{transition:filter .2s ease,transform .2s ease}
#v3ai-root.v3ai-widget .v3ai-send svg{width:24px;height:24px;fill:none;stroke:var(--v3ai-send-icon)!important;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#v3ai-root.v3ai-widget .v3ai-send:hover{background:var(--v3ai-send-hover-bg)!important;color:var(--v3ai-send-hover-icon)!important;filter:none;transform:translateY(-1px)}
#v3ai-root.v3ai-widget .v3ai-send:hover svg{stroke:var(--v3ai-send-hover-icon)!important}
#v3ai-root.v3ai-widget .v3ai-send:focus-visible{outline:2px solid #111;outline-offset:2px}
#v3ai-root.v3ai-widget .v3ai-busy .v3ai-send{opacity:.55;cursor:wait}
#v3ai-root.v3ai-widget .v3ai-footer{flex:0 0 auto;text-align:center;padding:7px 16px 14px;color:var(--v3ai-footer-text)!important;font-size:12px;background:var(--v3ai-footer-bg)!important}

#v3ai-root.v3ai-widget .v3ai-panel.v3ai-expanded{position:fixed;inset:20px;width:auto;height:auto;max-width:none;border-radius:22px!important;-webkit-border-radius:22px!important;transform-origin:center}
#v3ai-root.v3ai-widget .v3ai-panel.v3ai-expanded .v3ai-message{max-width:68%}

#v3ai-root.v3ai-widget .v3ai-typing{min-width:82px}
#v3ai-root.v3ai-widget .v3ai-typing-dots{display:flex;gap:5px;align-items:center;height:16px}
#v3ai-root.v3ai-widget .v3ai-typing-dots span{width:7px;height:7px;border-radius:50%;background:#7a8494;animation:v3aiDot 1.1s infinite ease-in-out}
#v3ai-root.v3ai-widget .v3ai-typing-dots span:nth-child(2){animation-delay:.15s}
#v3ai-root.v3ai-widget .v3ai-typing-dots span:nth-child(3){animation-delay:.3s}
@keyframes v3aiDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}

#v3ai-root.v3ai-widget .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:700px){
  html body #v3ai-root.v3ai-widget.v3ai-right,
  html body #v3ai-root.v3ai-widget.v3ai-left{right:12px!important;left:auto!important;bottom:12px!important;top:auto!important}
  html body #v3ai-root.v3ai-widget button.v3ai-launcher{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important}
  #v3ai-root.v3ai-widget .v3ai-panel,
  #v3ai-root.v3ai-widget .v3ai-panel.v3ai-expanded{position:fixed;inset:0;width:100vw;height:100dvh;border-radius:0!important;-webkit-border-radius:0!important;transform-origin:bottom center}
  #v3ai-root.v3ai-widget .v3ai-header{padding:14px 15px}
  #v3ai-root.v3ai-widget .v3ai-brand-icon{width:42px;height:42px}
  #v3ai-root.v3ai-widget .v3ai-brand-icon svg{width:22px;height:22px}
  #v3ai-root.v3ai-widget .v3ai-heading strong{font-size:18px}
  #v3ai-root.v3ai-widget .v3ai-heading span{font-size:14px}
  #v3ai-root.v3ai-widget .v3ai-icon-btn svg{width:22px;height:22px}
  #v3ai-root.v3ai-widget .v3ai-messages{padding:17px 14px}
  #v3ai-root.v3ai-widget .v3ai-message,
  #v3ai-root.v3ai-widget .v3ai-panel.v3ai-expanded .v3ai-message{max-width:90%;font-size:15px;padding:13px 15px}
  #v3ai-root.v3ai-widget .v3ai-form{grid-template-columns:1fr 52px;padding:10px 11px 5px}
  html body #v3ai-root.v3ai-widget .v3ai-form textarea{font-size:16px;height:52px;min-height:52px;padding:13px 14px}
  #v3ai-root.v3ai-widget .v3ai-footer{font-size:11px;padding-bottom:10px}
}

@media(prefers-reduced-motion:reduce){
  #v3ai-root.v3ai-widget .v3ai-panel,
  #v3ai-root.v3ai-widget .v3ai-launcher,
  #v3ai-root.v3ai-widget .v3ai-send{transition:none}
  #v3ai-root.v3ai-widget .v3ai-typing-dots span{animation:none}
}

/* Conversation suggestions */
#v3ai-root.v3ai-widget .v3ai-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:-3px 0 14px;padding:0 2px}
html body #v3ai-root.v3ai-widget button.v3ai-suggestion{border:1px solid var(--v3ai-suggestion-border)!important;background:var(--v3ai-suggestion-bg)!important;color:var(--v3ai-suggestion-text)!important;border-radius:999px!important;padding:8px 12px!important;font-size:13px!important;line-height:1.2!important;cursor:pointer!important;box-shadow:none!important}
html body #v3ai-root.v3ai-widget button.v3ai-suggestion:hover{background:var(--v3ai-suggestion-hover-bg)!important;color:var(--v3ai-suggestion-hover-text)!important;border-color:var(--v3ai-suggestion-hover-border)!important}
html body #v3ai-root.v3ai-widget button.v3ai-suggestion:focus-visible{outline:2px solid #111!important;outline-offset:2px!important}
.v3ai-widget .v3ai-turnstile{padding:0 12px;min-height:0;display:flex;justify-content:flex-end;align-items:center}
.v3ai-widget .v3ai-turnstile:empty{display:none}
.v3ai-widget .v3ai-turnstile iframe{max-width:100%}

#v3ai-root.v3ai-widget .v3ai-form textarea::placeholder{color:var(--v3ai-input-placeholder)!important;opacity:1!important}

#v3ai-root.v3ai-widget .v3ai-assistant-message a{color:var(--v3ai-assistant-link)!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:2px!important;overflow-wrap:anywhere!important;word-break:break-word!important}
#v3ai-root.v3ai-widget .v3ai-assistant-message a:hover{color:var(--v3ai-assistant-link-hover)!important;text-decoration-thickness:2px!important}
#v3ai-root.v3ai-widget .v3ai-assistant-message a:focus-visible{outline:2px solid currentColor!important;outline-offset:2px!important;border-radius:2px!important}
