`
.illusion-container {
position: relative;
width: 80vmin;
height: 80vmin;
transform-style: preserve-3d;
animation: rotate 20s linear infinite;
}
.ring {
position: absolute;
top: 50%;
left: 50%;
border-radius: 50%;
border: 2px solid transparent;
transform-style: preserve-3d;
}
.dot {
position: absolute;
width: 10px;
height: 10px;
background-color: #fff;
border-radius: 50%;
transform-style: preserve-3d;
box-shadow: 0 0 8px 2px rgba(255, 255, 255, 0.8);
}
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, transparent 30%, rgba(0, 0, 0, 0.7) 70%);
pointer-events: none;
z-index: 10;
}
@keyframes rotate {
0% {
transform: rotateY(0deg) rotateX(60deg);
}
100% {
transform: rotateY(360deg) rotateX(60deg);
}
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.5);
opacity: 0.7;
}
}
.info-text {
position: absolute;
bottom: 20px;
color: white;
text-align: center;
font-size: 16px;
z-index: 20;
opacity: 0.8;
}
</style>