/* One existing companion canvas behind the conversation; no additional renderer. */
#v-coach { position: relative; isolation: isolate; }
#v-coach .chat-orb-backdrop {
  position: fixed;
  inset: 120px 0 150px;
  display: grid;
  place-items: center;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
#v-coach .chat-orb-backdrop .core-host {
  width: min(88vw, 560px);
  height: min(88vw, 560px);
  margin: 0;
  opacity: .42;
  animation: chat-orb-float 12s ease-in-out infinite;
}
#v-coach .chat, #v-coach .ai-note, #v-coach .starters {
  position: relative;
  z-index: 1;
}
#v-coach .core-head {
  top: calc(var(--top-h, 68px) + env(safe-area-inset-top));
  z-index: 2;
}
#v-coach .composer { z-index: 3; }
#v-coach .msg.mentra {
  background: rgba(8, 12, 20, .52);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
#v-coach .msg.me { background: rgba(var(--accent-rgb), .16); }
@keyframes chat-orb-float {
  0%, 100% { transform: translateY(6px); }
  50% { transform: translateY(-6px); }
}
@media (min-width: 1100px) {
  html body main:has(> #v-coach:not([hidden])) { margin-left: 220px; }
  #v-coach .chat-orb-backdrop { left: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  #v-coach .chat-orb-backdrop .core-host { animation: none; }
}
@media (prefers-reduced-transparency: reduce) {
  #v-coach .msg.mentra { background: #0a0e14; }
  #v-coach .msg.me { background: #111e2b; }
}
