/* Captain orbs — same vOrb family as the Innerface OS / partner captains.
   Paint with --oc (rim) and --b1 --b2 --b3 (body). Name sits in .vFace. */
.vOrb{
  --lvl:0;
  --oc:#2AE98D;
  --b1:#10321f;
  --b2:#091a11;
  --b3:#040a07;
  position:relative;
  aspect-ratio:1;
  width:140px;
  container-type:inline-size;
  flex:none;
  pointer-events:none;
}
.vRing{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  border:1px solid var(--oc);
  will-change:transform,opacity;
}
.vRing1{inset:-9px;transform:scale(calc(1 + var(--lvl) * .10));opacity:calc(.42 + var(--lvl) * .58)}
.vRing2{inset:-20px;border-color:color-mix(in srgb,var(--oc) 52%,transparent);transform:scale(calc(1 + var(--lvl) * .17));opacity:calc(.16 + var(--lvl) * .55)}
.vRing3{inset:-34px;border-color:color-mix(in srgb,var(--oc) 30%,transparent);transform:scale(calc(1 + var(--lvl) * .26));opacity:calc(.05 + var(--lvl) * .42)}
.vOrb:not(.speaking):not(.listening) .vRing1{animation:vRing 4.6s ease-in-out 0s infinite}
.vOrb:not(.speaking):not(.listening) .vRing2{animation:vRing 4.6s ease-in-out .5s infinite}
.vOrb:not(.speaking):not(.listening) .vRing3{animation:vRing 4.6s ease-in-out 1s infinite}
@keyframes vRing{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.12);opacity:.12}}
.vBody{
  position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 34% 28%, var(--b1), var(--b2) 62%, var(--b3));
  animation:vBreathe 6s ease-in-out infinite;
}
@keyframes vBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.vGlow{
  position:absolute;inset:0;border-radius:50%;pointer-events:none;
  box-shadow:
    inset -8px -13px 22px rgba(0,0,0,.5),
    inset 5px 8px 15px rgba(255,255,255,.13),
    0 0 26px color-mix(in srgb,var(--oc) 38%,transparent),
    0 0 64px color-mix(in srgb,var(--oc) 16%,transparent);
}
.vScan{display:none}
.vFace{position:absolute;inset:0}
.vName{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-weight:400;font-size:13cqw;letter-spacing:.18em;color:#fff;white-space:nowrap;
  text-shadow:0 0 10px var(--oc), 0 0 26px color-mix(in srgb,var(--oc) 45%,transparent);
}
.emma-card .vOrb{width:min(150px,32vw)}
.emma-card .vOrb .vRing1{inset:-6px}
.emma-card .vOrb .vRing2{inset:-14px}
.emma-card .vOrb .vRing3{inset:-24px}
.meet-orb{width:min(180px,58vw);margin:40px 0 42px;pointer-events:none}
