/* A live optical sculpture. The original artwork remains the resilient fallback. */
.sculpture-viewport{position:relative;width:100%;aspect-ratio:1;isolation:isolate;overflow:visible}
.sculpture-viewport .sculpture-fallback{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0;animation:none;transform-origin:50% 50%;transition:opacity .65s ease;filter:drop-shadow(0 24px 45px #0005)}
.axis-sculpture{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .65s ease;pointer-events:none}
.sculpture-viewport[data-renderer="webgl"] .axis-sculpture{opacity:1}
.sculpture-viewport[data-renderer="webgl"] .sculpture-fallback{opacity:0}
/* The shared artwork state keeps the fallback in sync with visibility and the
 * visitor's system motion preference. */
.sculpture-viewport[data-renderer="fallback"] .sculpture-fallback{animation:hyprx-sculpture-breathe 8s ease-in-out infinite;animation-play-state:paused}
.sculpture-viewport[data-renderer="fallback"][data-art-motion="playing"] .sculpture-fallback{animation:hyprx-sculpture-breathe 8s ease-in-out infinite!important;animation-play-state:running!important;will-change:transform}
.sculpture-viewport[data-art-motion="paused"] .sculpture-fallback,html.motion-paused .sculpture-viewport:not([data-art-motion="playing"]) .sculpture-fallback{animation-play-state:paused!important;will-change:auto}
@keyframes hyprx-sculpture-breathe{0%,50%,100%{transform:translate3d(0,0,0) scale(1)}25%{transform:translate3d(0,-7px,0) scale(1.02)}75%{transform:translate3d(0,7px,0) scale(1.02)}}
.axis-art .art-label{margin-top:0;min-height:36px}
.axis-art .art-aura{opacity:.2;background:radial-gradient(ellipse,#123bff21,transparent 65%)}
.axis-art .art-orbit{opacity:.3;border-color:#93acff26;box-shadow:none}
@media(prefers-reduced-motion:reduce){.sculpture-viewport .sculpture-fallback,.axis-sculpture{transition:none}.sculpture-viewport[data-renderer="fallback"]:not([data-art-motion="playing"]) .sculpture-fallback{animation:none!important;transform:none;will-change:auto}}
