.cem-canvas-mock { margin:1.75rem auto 3.5rem; width:min(100%,960px); color:#25392f; background:#f4f0e8; }
.cem-canvas-stage { position:relative; isolation:isolate; overflow:hidden; }
.cem-canvas-stage .cem-canvas-room { display:block; width:100%; height:auto; aspect-ratio:3/2; }
.cem-canvas-stage .cem-canvas-art { display:block; position:absolute; left:47.3%; top:42%; transform:translate(-50%,-50%); width:40%; height:auto; box-sizing:border-box; border:0; box-shadow:-1px 2px 1px #594a3c, -3px 5px 8px #382b2047; }
.cem-canvas-stage .cem-canvas-framed { width:30.2%; border:clamp(2px,.35vw,5px) solid #493b2e; }
.cem-canvas-controls { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .85rem; padding:1rem clamp(.9rem,2.5vw,2rem); line-height:1.4; }
.cem-canvas-caption { margin-right:auto; font-style:italic; }
.cem-canvas-label { font-size:.86rem; }
.cem-canvas-controls select { color:#263b31; background:#fffdf8; border:1px solid #8c9485; border-radius:.25rem; font:inherit; padding:.5rem; min-height:44px; max-width:100%; }
@media(max-width:650px) { .cem-canvas-controls { display:grid; } .cem-canvas-caption { margin-bottom:.4rem; } .cem-canvas-controls select { width:100%; } }
