#viviyard-companion-root {
position: fixed;
width: var(--vvc-size, 96px);
height: var(--vvc-size, 96px);
bottom: var(--vvc-bottom, 18px);
z-index: var(--vvc-z, 9998);
pointer-events: none;
user-select: none;
-webkit-user-select: none;
contain: layout style paint;
}
#viviyard-companion-root.vvc-right {
right: var(--vvc-side, 18px);
}
#viviyard-companion-root.vvc-left {
left: var(--vvc-side, 18px);
}
#viviyard-companion-root.vvc-moving {
transition: transform 90ms linear;
}
#viviyard-companion-root.vvc-hidden {
display: none !important;
}
#viviyard-companion-sprite {
position: absolute;
left: 0;
bottom: 0;
width: var(--vvc-size, 96px);
height: var(--vvc-size, 96px);
background-repeat: no-repeat;
image-rendering: pixelated;
transform-origin: center bottom;
pointer-events: auto;
cursor: pointer;
outline: none;
}
#viviyard-companion-sprite.vvc-facing-left {
transform: scaleX(-1);
}
#viviyard-companion-sprite.vvc-facing-right {
transform: scaleX(1);
}
#viviyard-companion-fallback {
display: none;
position: absolute;
inset: 0;
align-items: center;
justify-content: center;
font-size: calc(var(--vvc-size, 96px) * 0.72);
line-height: 1;
pointer-events: auto;
cursor: pointer;
}
#viviyard-companion-root.vvc-fallback #viviyard-companion-sprite {
display: none;
}
#viviyard-companion-root.vvc-fallback #viviyard-companion-fallback {
display: flex;
}
@media (prefers-reduced-motion: reduce) {
#viviyard-companion-root {
transition: none !important;
}
}