/* Immutable local SVG layers retain their exported Figma root dimensions.
   The 34px source rig is enlarged as one unit inside a 64px animation stage. */
.companion-character.orb {
  position:relative;
  display:block;
  width:var(--companion-size,48px);
  height:var(--companion-size,48px);
  overflow:visible;
  isolation:isolate;
  animation:none !important;
  color:#000;
  pointer-events:none;
}
.companion-character img {
  display:block;
  max-width:none;
  padding:0;
  margin:0;
  border:0;
  user-select:none;
  pointer-events:none;
  -webkit-user-drag:none;
}
.companion-stage {
  position:absolute;
  left:0;
  top:0;
  width:64px;
  height:64px;
  transform:scale(var(--companion-scale,.75));
  transform-origin:0 0;
  pointer-events:none;
}
.companion-placement {
  position:absolute;
  left:10px;
  top:21px;
  width:34px;
  height:34px;
  transform:scale(1.25);
  transform-origin:0 0;
}
.companion-rig,.companion-body,.companion-face {
  position:absolute;
  left:0;
  top:0;
  width:34px;
  height:34px;
}
.companion-rig { transform-origin:17px 34px; }
.companion-body { transform-origin:17px 30px; }
.companion-shape { position:absolute; left:2.27755px; top:0; }
.companion-eyes.orb-eyes {
  position:absolute;
  left:8px;
  top:12px;
  width:9px;
  height:7px;
  transform-origin:4.5px 3.5px;
  animation:none !important;
}
.companion-eye { position:absolute; top:0; }
.companion-eye-left { left:0; }
.companion-eye-right { left:6px; }
.companion-smile { position:absolute; left:9.6582px; top:21.2598px; }
.companion-prop { position:absolute; visibility:hidden; opacity:0; pointer-events:none; }
.companion-hardhat { left:5.99988px; top:-9px; width:24px; height:18px; transform-origin:12px 16px; }
.companion-tool { left:12px; top:20.69697px; width:20px; height:13px; transform-origin:2px 8px; }
.companion-partyhat { left:8.47839px; top:-9.67578px; width:11px; height:16px; transform-origin:5px 14px; }
.companion-burst { left:23px; top:-12.59668px; width:30px; height:30px; transform-origin:15px 15px; }
.companion-sparkle { width:6.05137px; height:6.11007px; transform-origin:center; }
.companion-sparkle-top { left:15.47437px; top:-19.15137px; }
.companion-sparkle-left { left:-9.52563px; top:7.84863px; }
.companion-sparkle-right { left:34.47437px; top:27.84863px; }
.companion-character[data-companion-pose="working"] :is(.companion-hardhat,.companion-tool),
.companion-character:is([data-companion-pose="success"],[data-companion-pose="done"],[data-companion-pose="complete"]) :is(.companion-partyhat,.companion-burst,.companion-sparkle) {
  visibility:visible;
  opacity:1;
}
.companion-character:is([data-companion-pose="success"],[data-companion-pose="done"],[data-companion-pose="complete"]) .companion-face {
  transform:translate(9px,-1.59668px);
}
@media (prefers-reduced-motion:reduce) {
  .companion-character :is(.companion-body,.companion-rig,.companion-eyes,.companion-prop) { animation:none !important; transition:none !important; }
}
