/* Maya companion: a small living character fixed on every page except Chat (#507 #459). */
.maya-comp { position: fixed; right: 16px; bottom: 104px; z-index: 60; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; pointer-events: none; }
.maya-comp[hidden] { display: none; }
.maya-comp__btn { pointer-events: auto; width: 96px; height: 96px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; box-shadow: 0 6px 22px rgba(20, 60, 140, .45); transition: transform .25s ease, box-shadow .25s ease; will-change: transform; }
.maya-comp__btn:hover, .maya-comp__btn:focus-visible { box-shadow: 0 6px 28px rgba(91, 157, 255, .75); outline: none; }
.maya-comp__btn .maya-av { --maya-px: 100%; display: block; }
.maya-comp__btn .maya-av__svg { width: 100%; height: 100%; display: block; }
.maya-comp.is-scrolling .maya-comp__btn { transform: translateY(var(--maya-bob, 0px)) rotate(var(--maya-tilt, 0deg)); transition: none; }
.maya-comp__bubble { pointer-events: auto; max-width: 240px; padding: 8px 12px; border-radius: 14px 14px 4px 14px; background: rgba(14, 24, 48, .92); border: 1px solid rgba(91, 157, 255, .45); color: #eaf1ff; font-size: 13px; line-height: 1.35; box-shadow: 0 4px 16px rgba(0, 0, 0, .35); opacity: 0; transform: translateY(6px); transition: opacity .4s ease, transform .4s ease; }
.maya-comp__bubble.is-on { opacity: 1; transform: none; }
.maya-comp__bubble[hidden] { display: none; }
@media (max-width: 720px) {
  .maya-comp { right: 10px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .maya-comp__btn { width: 72px; height: 72px; }
  .maya-comp__bubble { max-width: 200px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .maya-comp__btn, .maya-comp__bubble { transition: none; }
  .maya-comp.is-scrolling .maya-comp__btn { transform: none; }
}
