/* VOLURR AGI global launcher — the mark itself is the control; no card or backdrop. */
.agi-launcher{
  position:fixed;
  inset-inline-end:max(16px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  width:84px;
  height:84px;
  padding:0;
  margin:0;
  border:0;
  outline:0;
  border-radius:50%;
  background:transparent;
  appearance:none;
  color:inherit;
  line-height:0;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color:transparent;
  filter:drop-shadow(0 8px 16px rgba(214,47,47,.2));
  transform:translate3d(0,0,0);
  will-change:transform;
  z-index:190;
  contain:layout paint style;
}

.agi-launcher:hover{
  filter:drop-shadow(0 9px 19px rgba(214,47,47,.3));
}

.agi-launcher:active,
.agi-launcher.is-dragging{
  cursor:grabbing;
}

.agi-launcher:focus-visible{
  outline:2px solid #e23b3b;
  outline-offset:3px;
}

.agi-launcher volurr-mark{
  display:block;
  width:100%;
  height:100%;
  pointer-events:none;
}

/* Voice is dormant until the customer clicks. State is expressed on the mark itself: no panel,
   backdrop or layout work is added to the page. */
.agi-launcher.is-listening{
  filter:drop-shadow(0 0 13px rgba(19,164,150,.55));
}

.agi-launcher.is-thinking{
  filter:drop-shadow(0 0 14px rgba(226,59,59,.42));
}

.agi-launcher.is-speaking{
  filter:drop-shadow(0 0 17px rgba(226,59,59,.58));
}

.agi-launcher.is-listening::after,
.agi-launcher.is-thinking::after,
.agi-launcher.is-speaking::after{
  content:"";
  position:absolute;
  inset:4px;
  border:2px solid rgba(226,59,59,.42);
  border-radius:50%;
  pointer-events:none;
}

.agi-launcher.is-listening::after{
  border-color:rgba(19,164,150,.58);
}

/* Keep the control available over chart fullscreen, but below chart dialogs. */
html.pcmax-on .agi-launcher{
  z-index:970;
}

/* The assistant belongs to the signed-in product, not landing/authentication. */
html.pre-lp .agi-launcher,
body.lp-on .agi-launcher,
body:not([data-view]) .agi-launcher{
  display:none!important;
}

/* ...and not inside the assistant. The launcher is fixed to the bottom-right at 84x84, and the AGI
   room's right rail ends there — so in the owner's screenshot the mark sat on top of the news card,
   covering the "View All News" link. A floating button offering to open the page you are already
   reading is redundant on its own; one that also hides a working control is a defect. */
body[data-view="ai"] .agi-launcher{
  display:none!important;
}

@media(prefers-reduced-motion:reduce){
  .agi-launcher{
    will-change:auto;
  }
}
