/* Visual-only canvas. All controls are native HTML outside the image. */
#assembly-scene{position:relative;isolation:isolate;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;background:radial-gradient(ellipse at 54% 46%,#39485519,transparent 66%)}
#assembly-scene:active{cursor:grabbing}
#assembly-scene::after{content:"";position:absolute;z-index:-1;bottom:4%;left:16%;width:65%;height:4%;background:#01040677;border-radius:50%;filter:blur(10px);pointer-events:none}
#assembly-scene .assembly-poster,#assembly-scene .assembly-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
#assembly-scene .assembly-canvas{opacity:0;transition:opacity .24s}
#assembly-scene.assembly-ready:not([data-assembly-mode=form]) .assembly-canvas{opacity:1}
#assembly-scene.assembly-ready:not([data-assembly-mode=form]) .assembly-poster{opacity:0}
#assembly-scene[data-assembly-mode=form]{cursor:default}
#assembly-scene .assembly-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.assembly-aux{display:flex;justify-content:flex-end;gap:15px;margin:-10px 0 15px}
.assembly-aux button{color:#91a0b1;background:none;border:0;padding:5px 0;min-height:32px;font-size:11px;letter-spacing:.015em}
.assembly-aux button:hover{color:#dbe8fc}
.assembly-aux button:disabled{opacity:.38;cursor:default}
@media(max-width:760px){.assembly-aux{justify-content:center;gap:23px;margin:1px 0 6px}#assembly-scene{cursor:default}}
@media(prefers-reduced-motion:reduce){#assembly-scene .assembly-canvas{transition:none}}
