.scene-0{background-image:url('assets/layered-background-clean-fullscreen.jpg')}
.scene-1{background-image:url('assets/painting-2-fullscreen.jpg')}
.scene-2{background-image:url('assets/painting-3-fullscreen.jpg')}

/* Bottom control deck: keeps the painting's center and right edge unobstructed. */
.panel{left:50%;right:auto;top:auto;bottom:16px;transform:translateX(-50%);width:min(1120px,calc(100vw - 36px));max-height:none;padding:13px 16px;display:grid;grid-template-columns:1.25fr .72fr .95fr 1.15fr;grid-template-rows:auto auto;grid-template-areas:'intro gesture voice objects' 'intro controls voice actions';column-gap:16px;row-gap:8px;overflow:visible}
.instruction{grid-area:intro}.instruction h1{font-size:22px;line-height:1.05;margin:5px 0}.instruction p{font-size:10px;line-height:1.45}.gesture-demo{grid-area:gesture;height:34px}.controls{grid-area:controls}.controls button{padding:8px 4px;font-size:9px}.voice-box{grid-area:voice;padding:10px}.object-list{grid-area:objects;min-height:0}.object-list>div{margin-top:6px}.chip{padding:3px 5px;font-size:8px}.footer-actions{grid-area:actions;margin:0;align-self:end}.gallery-nav{bottom:168px}.whisper{bottom:214px}.corner-note{right:28px;top:84px}.art-object.static{pointer-events:none}.art-object.static:hover{filter:sepia(.1) saturate(.88) contrast(.96)}
@media(max-width:850px){.panel{left:10px;right:10px;bottom:10px;transform:none;width:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'controls controls' 'voice actions';padding:10px}.instruction,.gesture-demo,.object-list{display:none}.gallery-nav{bottom:130px}.whisper{bottom:170px}}

/* Minimal exhibition UI: gesture switch only. */
.panel{position:fixed;z-index:24;left:auto;right:24px;top:78px;bottom:auto;transform:none;width:auto;max-height:none;padding:0;display:block;background:transparent;border:0;backdrop-filter:none;overflow:visible}
.panel>*{display:none!important}.panel .controls{display:block!important}.panel .controls #voiceBtn{display:none!important}.panel .controls #cameraBtn{display:block!important;min-width:142px;padding:11px 15px;background:#11120ed9;border:1px solid #d7ff3255;color:#e8e2cf;backdrop-filter:blur(10px);font:10px 'Space Mono';letter-spacing:.08em}.panel .controls #cameraBtn:hover{border-color:var(--acid);color:var(--acid)}
.gallery-nav{bottom:22px}.whisper{bottom:72px}.corner-note{right:28px;top:132px}
.gallery-nav{display:none!important}
.claw{width:112px;height:148px;filter:drop-shadow(0 10px 9px #000b)}.claw .cable{left:53px;bottom:112px;width:6px;height:330px;background:repeating-linear-gradient(90deg,#777 0 2px,#d3d0bd 3px 4px,#363832 5px 6px);box-shadow:0 0 0 1px #111}.claw .hub{left:30px;top:17px;width:52px;height:46px;border:3px solid #d0cebb;border-radius:50% 50% 42% 42%;background:radial-gradient(circle at 35% 30%,#8c8d82,#393b35 55%,#181a17);box-shadow:inset 0 0 0 4px #242620,0 2px 0 #d7ff3240}.claw .hub:after{content:'';position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);width:18px;height:13px;border-radius:0 0 8px 8px;background:#a7a698;border:2px solid #333}.claw .jaw{top:57px;width:43px;height:67px;border:6px solid #c9c7b5;border-top:0;background:transparent;box-shadow:inset 2px 0 #555;border-radius:0 0 30px 30px;transform-origin:50% 0}.claw .jaw.left{left:7px;transform:rotate(-24deg)}.claw .jaw.right{right:7px;transform:rotate(24deg)}.claw .jaw.center{display:block;left:35px;top:62px;width:42px;height:59px;transform:scaleX(.72) translateY(7px);opacity:.72;z-index:-1}.claw.closed .jaw.left{transform:rotate(8deg) translateX(10px)}.claw.closed .jaw.right{transform:rotate(-8deg) translateX(-10px)}.claw.closed .jaw.center{transform:scaleX(.45) translateY(11px)}
@media(max-width:850px){.panel{left:auto;right:12px;top:68px;bottom:auto;width:auto}.panel .controls #cameraBtn{min-width:124px;padding:9px 11px}.gallery-nav{bottom:18px}.whisper{bottom:66px}}
