/* The player and QR targets follow the supplied wall image, without stretching it. */
.demo-stage,.show-demo-host .demo-stage{display:block;max-width:none}
.demo-stage>.demo-display,.demo-stage>.phone{display:none}
.wall-simulator{width:100%;color:var(--ink)}
.sim-wall-tabs{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.sim-wall-tabs button{padding:12px 20px;min-height:48px;background:transparent;color:inherit;border:1px solid var(--line);font-size:14px}
.sim-wall-tabs button[aria-pressed=true]{background:var(--green);color:var(--white);border-color:var(--green)}
.sim-instruction{text-align:center;font-size:14px;margin:18px 0 22px;color:var(--muted)}
.sim-room{position:relative;isolation:isolate;width:100%;background:#c6b79d;line-height:0}
.sim-wall-image{width:100%;height:auto;display:block}
.sim-tv{position:absolute;left:31%;top:24.6%;width:35.4%;height:36.04%;background:#090d0e;overflow:hidden;transition:box-shadow .5s}
.sim-room[data-wall="4"] .sim-tv{left:31.24%;top:24.3%;width:35.02%;height:39.46%}
.sim-tv video{display:block;width:100%;height:100%;object-fit:contain;background:#050606}
.sim-tv-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#93a499;background:radial-gradient(ellipse,#17241f,#080d0b);line-height:1.5;gap:7px;pointer-events:none}
.sim-tv-message[hidden]{display:none}
.sim-tv-message span{font-size:clamp(9px,1.4vw,18px);letter-spacing:3px}.sim-tv-message small{font-size:clamp(8px,1vw,13px)}
.sim-room.is-on .sim-tv{box-shadow:0 0 22px #d8e9ff50}
.sim-qr{position:absolute;transform:translate(-50%,-50%);width:2.15%;aspect-ratio:1;min-width:16px;padding:1px;border:1px solid #8f713b;background:#fff;line-height:1;cursor:pointer;z-index:2;outline:2px solid #d8bc83;outline-offset:3px}
.sim-room[data-wall="4"] .sim-qr{width:2.1%}
.sim-qr:before{content:'';position:absolute;inset:-10px;min-width:32px;min-height:32px}
.sim-qr img{width:100%;height:100%;object-fit:contain}
.sim-qr[aria-pressed=true]{outline:3px solid #385a40;box-shadow:0 0 0 7px #f8eed2cc}
.sim-qr:hover,.sim-qr:focus-visible{outline:3px solid #31583d;outline-offset:4px;z-index:4}
.sim-qr-label{display:none;position:absolute;bottom:calc(100% + 10px);right:0;background:#23352b;color:#fff;padding:9px 12px;white-space:nowrap;font:13px/1.4 var(--sans);box-shadow:0 3px 12px #0003}
.sim-qr:hover .sim-qr-label,.sim-qr:focus-visible .sim-qr-label{display:block}
.sim-now{display:flex;gap:25px;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line)}
.sim-status{font-size:12px;letter-spacing:.3px;color:var(--muted)}
.sim-topic{font-size:25px;margin:6px 0}
.sim-source{font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.sim-transport{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:420px}
.sim-transport button{font-size:13px;min-height:42px;border:1px solid var(--line);background:var(--white);color:var(--green);padding:8px 13px}
.sim-transport button:disabled{opacity:.4;cursor:default}
.sim-topic-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}
.sim-topic-buttons button{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;min-height:48px;text-align:left;font-size:14px;background:transparent;border:1px solid var(--line);color:inherit}
.sim-topic-buttons button[aria-pressed=true]{background:var(--soft-green);border-color:var(--green)}
.sim-footnote{font-size:12px;color:var(--muted);margin-bottom:0}
.interaction-steps{grid-template-columns:repeat(3,1fr)}
.show-demo-host .wall-simulator{color:#f8f2e7;max-width:1150px;margin:auto}
.show-demo-host .sim-status,.show-demo-host .sim-instruction,.show-demo-host .sim-footnote{color:#c2cabc}
.show-demo-host .sim-wall-tabs button[aria-pressed=true]{background:#dec29c;color:#23352b}
.show-demo-host .sim-topic-buttons button[aria-pressed=true]{background:#dec29c;color:#23352b}
.show-demo-host .sim-room{max-width:1000px;margin:auto}
.show-demo-host .interaction-steps{display:none}
.show-demo-host .sim-source{color:#dec29c}
@media(max-width:700px){.sim-wall-tabs{gap:8px}.sim-wall-tabs button{flex:1;padding:10px;font-size:13px}.sim-instruction{font-size:13px;margin:14px 0}.sim-now{display:block;padding:18px 0}.sim-transport{justify-content:flex-start;margin-top:18px;max-width:none}.sim-topic-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-topic-buttons button{font-size:13px;padding:12px}.sim-topic{font-size:23px}.sim-tv-message span{letter-spacing:1px}.sim-tv-message small{font-size:7px}.sim-footnote{font-size:12px}.sim-qr-label{max-width:150px;white-space:normal;min-width:110px}.show-demo-host .sim-instruction{font-size:13px}}

.sim-scan-phone{position:absolute;z-index:5;width:18%;aspect-ratio:9/17.5;background:#14251e;border:clamp(3px,.5vw,7px) solid #17201d;border-radius:clamp(12px,1.8vw,28px);box-shadow:0 18px 45px #0008,0 0 0 1px #dce5db80;pointer-events:none;line-height:1.5;padding:2% 1%;animation:phone-appear .2s ease-out;color:white}
.sim-scan-phone[hidden]{display:none}
.sim-phone-speaker{position:absolute;top:3%;left:35%;width:30%;height:1.6%;border-radius:6px;background:#52635a}
.sim-phone-camera{position:absolute;inset:10% 6% 8%;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;background:linear-gradient(145deg,#465548,#182e24);padding:6%;border-radius:8px}
.sim-camera-label{font-size:clamp(6px,.9vw,12px);letter-spacing:1px;margin-bottom:14%}
.sim-camera-target{position:relative;width:88%;padding:8%;border:2px solid #e7ca91;background:#ffffff18}
.sim-camera-target img{display:block;width:100%;height:auto;background:white}
.sim-scan-line{position:absolute;left:0;right:0;top:10%;height:2px;background:#c3f4a3;box-shadow:0 0 12px #bbff88;animation:scan-pass 1.5s ease-in-out infinite alternate}
.sim-scanning{font-size:clamp(6px,1vw,13px);color:#d2f1bf;margin-top:12%}
.sim-scan-topic{font:400 clamp(6px,.9vw,12px)/1.35 var(--sans);margin-top:6%;color:#fff}
.sim-phone-home{position:absolute;bottom:3%;left:32%;width:36%;height:1%;border-radius:5px;background:#b9c4bc}
@keyframes scan-pass{from{top:10%}to{top:90%}}
@keyframes phone-appear{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.sim-scan-phone,.sim-scan-line{animation:none}.sim-scan-line{top:50%}}

.sim-tv video[hidden]{display:none}
