.floating-ai-twin{
  --fat-cyan:#54d9ff;
  --fat-gold:#efc66a;
  position:fixed;
  z-index:1200;
  right:22px;
  bottom:max(22px,env(safe-area-inset-bottom));
  width:clamp(82px,7vw,92px);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);
  isolation:isolate;
}
.floating-ai-twin.is-ready{opacity:1;transform:translateY(0)}
.floating-ai-twin__message{
  width:max-content;
  min-width:166px;
  max-width:min(210px,calc(100vw - 30px));
  padding:5px 8px 4px;
  text-align:right;
  color:#dff8ff;
  background:rgba(3,18,32,.68);
  border:1px solid rgba(84,217,255,.3);
  border-radius:9px;
  box-shadow:0 0 24px rgba(0,180,255,.14),inset 0 1px 0 rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(12px) saturate(125%);
  backdrop-filter:blur(12px) saturate(125%);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;
  pointer-events:none;
}
.floating-ai-twin__typed{
  min-height:14px;
  overflow:hidden;
  white-space:nowrap;
  font:600 8.5px/14px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.075em;
  color:#aeeeff;
  text-transform:none;
}
.floating-ai-twin__caret{display:inline-block;width:1px;height:9px;margin-left:2px;vertical-align:-1px;background:var(--fat-gold);animation:fatCaret .8s steps(1,end) infinite}
.floating-ai-twin__cta{display:inline-flex;align-items:center;gap:4px;margin-top:1px;color:#fff;text-decoration:none;font:700 8.5px/12px Arial,sans-serif;letter-spacing:.075em;text-transform:uppercase;pointer-events:auto}
.floating-ai-twin__cta span{color:var(--fat-gold);transition:transform .2s ease}
.floating-ai-twin__cta:hover,.floating-ai-twin__cta:focus-visible{color:var(--fat-cyan)}
.floating-ai-twin__cta:hover span{transform:translateX(2px)}
.floating-ai-twin__accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.floating-ai-twin__icon{position:relative;display:block;width:82px;height:82px;border-radius:50%;cursor:pointer;animation:fatFloat 5s ease-in-out infinite;transition:transform .25s ease,filter .25s ease;filter:drop-shadow(0 0 10px rgba(0,190,255,.38));-webkit-tap-highlight-color:transparent}
.floating-ai-twin__icon img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;animation:fatBreathe 4.8s ease-in-out infinite}
.floating-ai-twin__halo{position:absolute;z-index:0;inset:5%;border-radius:50%;box-shadow:0 0 18px 5px rgba(0,193,255,.22),0 0 30px rgba(133,72,255,.15);animation:fatHalo 4.8s ease-in-out infinite}
.floating-ai-twin__orbit{position:absolute;z-index:1;pointer-events:none;border-radius:50%;border-style:dashed}
.floating-ai-twin__orbit--outer{inset:-6px;border-width:1px;border-color:rgba(84,217,255,.46);animation:fatSpin 17s linear infinite}
.floating-ai-twin__orbit--inner{inset:-2px;border-width:1px;border-color:rgba(239,198,106,.38);animation:fatSpin 12s linear infinite reverse}
.floating-ai-twin:hover .floating-ai-twin__icon{transform:scale(1.06);filter:drop-shadow(0 0 15px rgba(0,205,255,.58)) drop-shadow(0 0 6px rgba(239,198,106,.3))}
.floating-ai-twin:hover .floating-ai-twin__message{background:rgba(3,18,32,.78);border-color:rgba(84,217,255,.48);box-shadow:0 0 28px rgba(0,180,255,.2),inset 0 1px 0 rgba(255,255,255,.08)}
.floating-ai-twin__icon:focus-visible,.floating-ai-twin__cta:focus-visible{outline:2px solid var(--fat-cyan);outline-offset:4px}
/* Give the existing back-to-top control its own vertical lane above the widget. */
html body .to-top{right:46px!important;bottom:174px!important;z-index:1210}
@keyframes fatSpin{to{transform:rotate(360deg)}}
@keyframes fatFloat{0%,100%{translate:0 0}50%{translate:0 -2px}}
@keyframes fatBreathe{0%,100%{scale:1}50%{scale:1.025}}
@keyframes fatHalo{0%,100%{opacity:.55;scale:.98}50%{opacity:1;scale:1.04}}
@keyframes fatCaret{0%,48%{opacity:1}49%,100%{opacity:0}}
@media (max-width:767px){
  .floating-ai-twin{right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:64px;gap:5px}
  .floating-ai-twin__icon{width:64px;height:64px}
  .floating-ai-twin__message{min-width:156px;max-width:min(190px,calc(100vw - 28px));padding:5px 7px 4px}
  .floating-ai-twin__typed{font-size:8px;letter-spacing:.055em}
  .floating-ai-twin__cta{font-size:8px}
  html body .to-top{right:29px!important;bottom:137px!important;display:grid!important}
}
@media (prefers-reduced-motion:reduce){
  .floating-ai-twin{opacity:1;transform:none;transition:none}
  .floating-ai-twin__icon,.floating-ai-twin__icon img,.floating-ai-twin__halo,.floating-ai-twin__orbit,.floating-ai-twin__caret{animation:none!important}
  .floating-ai-twin__orbit{display:none}
  .floating-ai-twin__typed{white-space:normal;line-height:14px}
}
