.ctai{
  --ctai-accent:#3759E1;
  --ctai-brand:var(--ctai-accent);
  --ctai-text:#26343d;
  --ctai-muted:#76858f;
  --ctai-line:#e1e8ec;
  --ctai-surface:#f8fbfc;
  --ctai-white:#fff;
  font-family:Inter,Roboto,Arial,sans-serif;
  color:var(--ctai-text);
  line-height:1.45;
  box-sizing:border-box;
  -webkit-font-smoothing:antialiased;
}
.ctai *{box-sizing:border-box}
.ctai button,.ctai textarea{font:inherit}
.ctai[hidden],.ctai [hidden]{display:none!important}
.ctai svg{display:block}

/* Floating root */
.ctai-mode-floating{position:fixed;z-index:999999;bottom:var(--ctai-bottom-desktop,32px);opacity:1!important;filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;-webkit-transform:none!important;translate:none!important;scale:none!important;rotate:none!important;mix-blend-mode:normal!important;will-change:auto!important}
.ctai-mode-floating.ctai-side-right{right:var(--ctai-side-desktop,32px);left:auto}
.ctai-mode-floating.ctai-side-left{left:var(--ctai-side-desktop,32px);right:auto}

/* Simple non-Spline fallback launcher */
.ctai-launcher{
  position:relative;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  padding:8px;
  border:1px solid #e0e8ec;
  border-radius:24px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,54,66,.14);
  cursor:pointer;
}
.ctai-launcher::after{
  content:"";
  position:absolute;
  right:5px;
  bottom:5px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#22c77a;
  border:2px solid #fff;
}
.ctai-launcher-image{display:block;width:100%;height:100%;border-radius:17px;object-fit:cover}
.ctai-launcher-monogram{font-weight:900;font-size:26px;color:var(--ctai-accent)}

/* Spline launcher: deliberately isolated from visual effects and transforms. */
.ctai .ctai-launcher-shell{
  position:relative!important;
  left:var(--ctai-robot-shift-x,0px);
  top:var(--ctai-robot-shift-y,0px);
  display:block!important;
  width:var(--ctai-launcher-desktop,180px)!important;
  height:var(--ctai-launcher-desktop,180px)!important;
  min-width:var(--ctai-launcher-desktop,180px)!important;
  min-height:var(--ctai-launcher-desktop,180px)!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  outline:0;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  translate:none!important;
  scale:none!important;
  rotate:none!important;
  perspective:none!important;
  mix-blend-mode:normal!important;
  isolation:auto!important;
  contain:none!important;
  will-change:auto!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.ctai .ctai-launcher-shell:focus-visible{outline:2px solid var(--ctai-accent)!important;outline-offset:3px}
.ctai .ctai-spline-viewer{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  translate:none!important;
  scale:none!important;
  rotate:none!important;
  perspective:none!important;
  mix-blend-mode:normal!important;
  isolation:auto!important;
  contain:none!important;
  will-change:auto!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  mask:none!important;
  -webkit-mask:none!important;
  pointer-events:none!important;
}
.ctai.is-spline-fallback .ctai-spline-viewer{display:none!important}
.ctai.is-spline-fallback .ctai-launcher-shell::after{
  content:attr(data-fallback-letter);
  position:absolute;
  inset:34%;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#fff;
  color:var(--ctai-accent);
  border:1px solid #e1e8ec;
  box-shadow:0 8px 22px rgba(31,54,66,.12);
  font-size:24px;
  font-weight:900;
}

/* Chat panel: no expensive backdrop-filter stack. */
.ctai-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  width:430px;
  height:min(735px,calc(100vh - 48px));
  max-height:735px;
  overflow:hidden;
  border:1px solid #dfe7eb;
  border-radius:30px;
  background:rgba(248,251,252,.985);
  box-shadow:0 22px 60px rgba(28,55,70,.20),0 5px 18px rgba(28,55,70,.09);
}
.ctai-mode-floating .ctai-panel{
  position:absolute;
  bottom:0;
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease;
}
.ctai-mode-floating.ctai-side-right .ctai-panel{right:0;left:auto}
.ctai-mode-floating.ctai-side-left .ctai-panel{left:0;right:auto}
.ctai-mode-floating.is-open .ctai-panel{opacity:1;pointer-events:auto;transform:none}
.ctai-mode-floating.is-open>.ctai-launcher,
.ctai-mode-floating.is-open>.ctai-launcher-shell{visibility:hidden!important;pointer-events:none!important}
.ctai-mode-embedded .ctai-panel{width:100%;max-width:430px;margin:0 auto;height:min(735px,86dvh)}

.ctai-header{
  height:78px;
  min-height:78px;
  padding:13px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--ctai-line);
  background:#fff;
}
.ctai-profile{display:flex;align-items:center;gap:11px;min-width:0}
.ctai-avatar-wrap{position:relative;flex:0 0 auto}
.ctai-avatar{display:block;width:46px;height:46px;border-radius:14px;object-fit:cover;border:1px solid #e0e7eb;background:#fff}
.ctai-avatar-fallback{display:grid;place-items:center;background:var(--ctai-accent);color:#fff;font-weight:900}
.ctai-online-dot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:#22c77a;border:2px solid #fff}
.ctai-identity{min-width:0}
.ctai-name-line{display:flex;align-items:center;gap:6px}
.ctai-name-line strong{font-size:16px;line-height:1.2;color:#19262d}
.ctai-ai-chip{font-size:8px;font-weight:900;letter-spacing:.08em;color:var(--ctai-accent);background:#eef2ff;border:1px solid #dfe5ff;padding:2px 5px;border-radius:999px}
.ctai-identity>span{display:block;margin-top:3px;color:#7b8991;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:205px}
.ctai-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #dde5e9;border-radius:11px;background:#f7fafb;color:#53636c;font-size:24px;line-height:1;cursor:pointer}

.ctai-tagline{height:30px;min-height:30px;padding:0 16px;display:flex;align-items:center;gap:8px;color:#8b989f;font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;background:#f5f8f9}
.ctai-tagline::before,.ctai-tagline::after{content:"";height:1px;flex:1;background:#dde5e9}

.ctai-body{flex:1;min-height:0;overflow-y:auto!important;overflow-x:hidden;padding:15px 16px 20px;scrollbar-width:thin;scrollbar-color:#c4d0d6 transparent;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.ctai-body::-webkit-scrollbar{width:5px}
.ctai-body::-webkit-scrollbar-track{background:transparent}
.ctai-body::-webkit-scrollbar-thumb{background:#c4d0d6;border-radius:99px}

.ctai-welcome{padding:15px 16px;border:1px solid #e1e8ec;border-radius:18px;background:#fff}
.ctai-kicker{display:block;margin-bottom:4px;color:var(--ctai-accent);font-size:8px;line-height:1.2;font-weight:900;letter-spacing:.14em}
.ctai-welcome h3{font-size:15.5px;line-height:1.2;margin:0;color:#1d2b32}
.ctai-welcome p{font-size:11px;line-height:1.55;margin:6px 0 0;color:#74838b;max-width:340px}

.ctai-quick-section{margin-top:17px}
.ctai-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:0 2px 10px}
.ctai-section-head>div strong{display:block;font-size:12.5px;color:#26353d}
.ctai-section-count{font-size:8.5px;color:#94a0a6}
.ctai-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ctai-quick{min-height:82px;border:1px solid #e1e8ec;border-radius:16px;background:#fff;padding:11px 28px 11px 11px;text-align:left;display:grid;grid-template-columns:35px 1fr;column-gap:9px;align-items:center;position:relative;cursor:pointer}
.ctai-quick::after{content:"›";position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#9ba8ae;font-size:20px;line-height:1}
.ctai-quick-icon{width:35px;height:35px;border-radius:10px;background:#f1f5ff;color:var(--ctai-accent);display:grid;place-items:center}
.ctai-quick-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.ctai-quick-icon img{display:block;width:19px;height:19px;object-fit:contain}
.ctai-quick-copy{min-width:0}
.ctai-quick-copy strong{display:block;font-size:10.5px;line-height:1.35;color:#304149;font-weight:760}
.ctai-quick-copy small{display:block;margin-top:4px;font-size:8.5px;color:#9aa5aa}

.ctai-conversation-label{margin:18px 0 12px;display:flex;align-items:center;gap:8px;color:#98a4aa;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.ctai-conversation-label::before,.ctai-conversation-label::after{content:"";height:1px;flex:1;background:#e0e7ea}
.ctai-messages{display:flex;flex-direction:column;gap:13px;min-height:1px}
.ctai-message-row{display:flex;align-items:flex-end;gap:8px}
.ctai-message-row.ctai-user{justify-content:flex-end}
.ctai-message-avatar{width:25px;height:25px;flex:0 0 25px;border-radius:8px;background:var(--ctai-accent);color:#fff;font-size:9px;font-weight:900;display:grid;place-items:center}
.ctai-message-stack{max-width:84%;display:flex;flex-direction:column;gap:4px}
.ctai-user .ctai-message-stack{align-items:flex-end}
.ctai-bubble{padding:11px 13px;border-radius:17px 17px 17px 6px;background:#fff;border:1px solid #e1e8ec;font-size:12px;line-height:1.62;color:#33434b;overflow-wrap:anywhere}
.ctai-user .ctai-bubble{border-radius:17px 17px 6px 17px;background:var(--ctai-accent);color:#fff;border-color:var(--ctai-accent)}
.ctai-message-row.is-off-topic .ctai-bubble{background:#f6f9fa;color:#61717a;border-style:dashed}
.ctai-bubble p{margin:0 0 8px}.ctai-bubble p:last-child{margin-bottom:0}
.ctai-bubble ul,.ctai-bubble ol{margin:6px 0 8px 18px;padding:0}
.ctai-bubble li{margin:3px 0;padding-left:1px}
.ctai-bubble strong{font-weight:800;color:#203038}.ctai-user .ctai-bubble strong{color:#fff}
.ctai-bubble em{font-style:italic}
.ctai-bubble code{padding:2px 5px;border-radius:5px;background:#e8eef1;font-size:.92em}
.ctai-md-heading{margin:12px 0 6px!important;color:#1f3039;font-weight:800;line-height:1.3}
.ctai-bubble h2.ctai-md-heading{font-size:14px}.ctai-bubble h3.ctai-md-heading{font-size:13px}.ctai-bubble h4.ctai-md-heading,.ctai-bubble h5.ctai-md-heading{font-size:12.3px}
.ctai-bubble .ctai-md-heading:first-child{margin-top:0!important}
.ctai-spacer{height:5px}
.ctai-message-time{font-size:7.5px;color:#9ca8ae;padding:0 3px}
.ctai-typing{display:flex;align-items:center;gap:4px;min-width:54px}
.ctai-typing span{width:5px;height:5px;border-radius:50%;background:#94a4ac;animation:ctaiDot 1.1s infinite ease-in-out}
.ctai-typing span:nth-child(2){animation-delay:.13s}.ctai-typing span:nth-child(3){animation-delay:.26s}

.ctai-product-heading{display:flex;justify-content:space-between;align-items:center;margin:0 2px 8px;font-size:8px;color:#8e9ba2}
.ctai-product-heading span:first-child{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#6c7d86}
.ctai-product-rail{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.ctai-product-rail::-webkit-scrollbar{display:none}
.ctai-product-card{flex:0 0 252px;scroll-snap-align:start;text-decoration:none;color:inherit;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #e1e8ec;display:grid;grid-template-columns:90px 1fr;min-height:128px}
.ctai-product-image{width:90px;height:100%;min-height:128px;background:#f1f5f7;display:grid;place-items:center;overflow:hidden}
.ctai-product-image img{width:100%;height:100%;object-fit:contain;padding:8px}
.ctai-product-placeholder{font-size:28px;font-weight:900;color:var(--ctai-accent)}
.ctai-product-copy{padding:11px}.ctai-product-kicker{display:block;font-size:7px;color:var(--ctai-accent);font-weight:900;letter-spacing:.08em;margin-bottom:4px}
.ctai-product-copy strong{display:block;font-size:12px;line-height:1.3;color:#263740}
.ctai-product-copy p{font-size:9.5px;line-height:1.4;color:#7c8a91;margin:5px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ctai-product-link{display:inline-flex;align-items:center;gap:5px;color:var(--ctai-accent);font-size:8.5px;font-weight:800}
.ctai-product-link svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.ctai-story-wrap{display:flex;justify-content:flex-start}
.ctai-story-card{position:relative;width:min(228px,66vw);aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:#0c1216;box-shadow:0 12px 32px rgba(22,35,43,.2);border:1px solid #27333a}
.ctai-story-card video{width:100%;height:100%;object-fit:cover;background:#0b0f12}
.ctai-story-overlay{position:absolute;left:0;right:0;top:0;padding:15px 14px 40px;background:linear-gradient(180deg,rgba(6,15,21,.72),transparent);color:#fff;pointer-events:none}
.ctai-story-label{display:block;font-size:7px;letter-spacing:.16em;font-weight:900;opacity:.72;margin-bottom:4px}
.ctai-story-overlay strong{font-size:11px;line-height:1.4}
.ctai-story-close{position:absolute;right:10px;top:10px;width:30px;height:30px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(0,0,0,.5);color:#fff;display:grid;place-items:center;cursor:pointer}
.ctai-story-close svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}

.ctai-composer-wrap{padding:10px 12px 11px;background:#fff;border-top:1px solid var(--ctai-line)}
.ctai-form{display:block}
.ctai-input-shell{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:8px;min-height:56px;padding:5px 6px 5px 12px;border-radius:28px;background:#f7fafb;border:1px solid #dfe7eb;transition:border-color .14s ease,background .14s ease}
.ctai-input-shell:focus-within{background:#fff;border-color:#b8c7cf}
.ctai-form textarea{display:block;width:100%;height:25px;min-height:25px;max-height:88px;resize:none;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:2px 0;color:#263740;font-size:12px;line-height:1.45;overflow-y:auto}
.ctai-form textarea::placeholder{color:#93a2aa}
.ctai-send{width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--ctai-accent);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:21px;line-height:1;opacity:.42;pointer-events:none}
.ctai.has-input .ctai-send{opacity:1;pointer-events:auto}
.ctai.is-busy .ctai-send{opacity:.5;pointer-events:none}
.ctai-footer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding:0 4px}
.ctai-disclaimer{display:block;min-width:0;color:#98a5ab;font-size:7.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctai-powered{font-size:6.8px;font-weight:900;letter-spacing:.14em;color:#9eabb1;white-space:nowrap}

@keyframes ctaiDot{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}

@media (hover:hover) and (pointer:fine){
  .ctai-launcher:hover,.ctai-close:hover,.ctai-quick:hover,.ctai-product-card:hover{border-color:#c7d3d9}
  .ctai-quick:hover{background:#f8fbff}
}

@media(max-width:767px){
  .ctai-mode-floating{bottom:max(var(--ctai-bottom-mobile,14px),env(safe-area-inset-bottom))}
  .ctai-mode-floating.ctai-side-right{right:var(--ctai-side-mobile,14px);left:auto}
  .ctai-mode-floating.ctai-side-left{left:var(--ctai-side-mobile,14px);right:auto}
  .ctai .ctai-launcher-shell{width:var(--ctai-launcher-mobile,144px)!important;height:var(--ctai-launcher-mobile,144px)!important;min-width:var(--ctai-launcher-mobile,144px)!important;min-height:var(--ctai-launcher-mobile,144px)!important}
  .ctai-launcher{width:66px;height:66px;border-radius:21px}
  .ctai-panel{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:none;border-radius:24px}
  .ctai-mode-floating .ctai-panel{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom))}
  .ctai-header{height:72px;min-height:72px;padding:11px 12px}
  .ctai-avatar{width:43px;height:43px;border-radius:13px}
  .ctai-tagline{padding:0 11px}
  .ctai-body{padding:12px 12px 17px}
  .ctai-welcome{padding:14px}
  .ctai-quick-grid{grid-template-columns:1fr 1fr;gap:8px}
  .ctai-quick{min-height:78px;padding:10px 27px 10px 10px}
  .ctai-message-stack{max-width:88%}
  .ctai-bubble{font-size:11.7px}
  .ctai-product-card{flex-basis:240px}
  .ctai-story-card{width:min(236px,72vw)}
  .ctai-composer-wrap{padding:8px 9px max(8px,env(safe-area-inset-bottom))}
  .ctai-input-shell{grid-template-columns:minmax(0,1fr) 46px;min-height:54px;border-radius:27px;padding-left:11px}
  .ctai-send{width:46px;height:46px}
  .ctai-disclaimer{max-width:74%}
  .ctai-mode-embedded .ctai-panel{height:min(760px,90dvh)}
}

@media(max-width:430px){
  .ctai-panel{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:21px}
  .ctai-mode-floating .ctai-panel{left:6px;right:6px;bottom:max(6px,env(safe-area-inset-bottom))}
  .ctai-quick-grid{grid-template-columns:1fr}
  .ctai-quick{min-height:66px}
  .ctai-welcome p{font-size:10.5px}
  .ctai-product-card{flex-basis:225px}
  .ctai-story-card{width:min(230px,76vw)}
  .ctai-input-shell{grid-template-columns:minmax(0,1fr) 44px;gap:7px;padding:5px 5px 5px 10px}
  .ctai-send{width:44px;height:44px}
  .ctai-footer-row{margin-top:6px}
}

@media (min-width:768px) and (max-width:1024px){
  .ctai-mode-floating{bottom:var(--ctai-bottom-tablet,24px)}
  .ctai-mode-floating.ctai-side-right{right:var(--ctai-side-tablet,24px);left:auto}
  .ctai-mode-floating.ctai-side-left{left:var(--ctai-side-tablet,24px);right:auto}
  .ctai .ctai-launcher-shell{width:var(--ctai-launcher-tablet,164px)!important;height:var(--ctai-launcher-tablet,164px)!important;min-width:var(--ctai-launcher-tablet,164px)!important;min-height:var(--ctai-launcher-tablet,164px)!important}
}

@media(prefers-reduced-motion:reduce){
  .ctai *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
