/* One moving stage keeps the hands, carried props and feet registered. */
.boris-refill { position: fixed; inset: 0; z-index: 90; pointer-events: none; overflow: hidden; isolation: isolate; }
.boris-refill__walker {
  position: absolute;
  left: var(--boris-left);
  top: var(--boris-top);
  width: var(--boris-height);
  height: var(--boris-height);
  will-change: transform;
}
.boris-refill[data-phase='settle'] .boris-refill__walker { visibility: hidden; }
.boris-refill__rig { position: absolute; inset: 0; z-index: 2; transform: scaleX(var(--boris-facing)); transform-origin: 50% 80%; }
.boris-refill__actor { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; filter: drop-shadow(1px 2px 0 #24271e28); }
.boris-refill__shadow { position: absolute; left: 27%; top: 91%; width: 46%; height: 4%; background: #24271e28; border-radius: 50%; filter: blur(2px); transform: rotate(-2deg); }
.boris-refill__carried-joint,
.boris-refill__spent-joint { position: absolute; max-width: none; object-fit: contain; transform-origin: center; filter: drop-shadow(1px 2px 0 #24271e30); }
.boris-refill__carried-joint { z-index: 1; }
.boris-refill__spent-joint { z-index: 4; }
.boris-refill__fingers { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; max-width: none; object-fit: contain; transform: scaleX(var(--boris-facing)); transform-origin: 50% 80%; }
.boris-refill__note { position: absolute; z-index: 5; left: 10%; top: -15px; padding: 5px 8px; background: var(--paper); color: var(--ink); font: 12px/1.15 var(--scribble-font); white-space: nowrap; transform: rotate(-3deg); clip-path: var(--rag-tight); opacity: 0; transition: opacity 140ms linear; }
.boris-refill:is([data-phase='arrive'], [data-phase='reach'], [data-phase='grab'], [data-phase='lift'], [data-phase='stow'], [data-phase='offer'], [data-phase='place'], [data-phase='handoff']) .boris-refill__note { opacity: 1; }
.joint-replacement-busy { pointer-events: none !important; opacity: 1 !important; }
img.joint-being-replaced { visibility: hidden !important; }
@media (max-width: 600px) { .boris-refill__note { font-size: 10px; } }
@media (prefers-reduced-motion: reduce) { .boris-refill__note { transition: none !important; } }
