/* Editor window: brick sphere artwork in the 3D Preview, with a scroll-driven entrance. */
.app-window .ed-sphere{opacity:1!important;border-radius:0;overflow:visible}
.app-window .ed-view-empty{opacity:1!important}
.ed-sphere > canvas{display:none!important}
.ed-sphere .ed-still{position:absolute;left:3.273%;top:3.357%;width:93.288%;height:93.287%;max-width:none;object-fit:contain;pointer-events:none;z-index:3;filter:drop-shadow(0 18px 26px rgba(0,0,0,.45));will-change:transform,filter,opacity}
/* editor window 20% smaller on larger screens; the sphere scales with it */
@media (min-width:761px){.app-window[data-editor3d]{width:80%;margin-left:auto;margin-right:auto}}
/* hero backup image follows the 20% smaller live sphere */
.viewer.no-gpu .viewer-fallback img{width:62.4%!important}
/* sphere scroll animation layers */
.es-float{position:absolute;inset:0;z-index:2;pointer-events:none;animation:esFloat 6.5s ease-in-out infinite}
@keyframes esFloat{0%,100%{translate:0 0}50%{translate:0 -2.2%}}
.es-float .ed-still{left:3.273%;top:3.357%}
.es-shadow{position:absolute;left:14%;right:14%;bottom:-6%;height:12%;border-radius:50%;z-index:1;pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.7),rgba(0,0,0,0) 72%);filter:blur(6px);transform-origin:50% 50%}
.es-sheen{position:absolute;left:6%;top:6%;width:88%;height:88%;border-radius:50%;z-index:4;pointer-events:none;overflow:hidden;mix-blend-mode:screen;opacity:.0}
.es-sheen::before{content:"";position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 38%,rgba(255,236,220,.30) 47%,rgba(255,255,255,.08) 52%,transparent 60%);transform:translateX(var(--sx,-70%))}
.es-glow{position:absolute;inset:-18%;z-index:0;border-radius:50%;pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(255,20,88,.22),rgba(107,77,255,.14) 45%,transparent 70%);filter:blur(18px)}
.es-orbit{position:absolute;left:-22%;top:31%;width:144%;height:38%;overflow:visible;pointer-events:none;transform:rotate(-14deg)}
.es-orbit.back{z-index:1}.es-orbit.front{z-index:5}
.es-orbit ellipse{fill:none;stroke:rgba(255,255,255,.34);stroke-width:1.2;vector-effect:non-scaling-stroke}
.es-dot{position:absolute;width:3.2%;aspect-ratio:1/1;margin:-1.6% 0 0 -1.6%;border-radius:50%;background:#ff1458;box-shadow:0 0 0 3px rgba(255,20,88,.18),0 0 18px 4px rgba(255,20,88,.65);z-index:5;pointer-events:none}
@media (prefers-reduced-motion:reduce){.es-float{animation:none}}
