/* Illustrated room mockup: artwork stays separate from the interactive UI. */
body.illustrated-room{background:#eee8d8}.illustrated-room .intro{padding-top:18px;padding-bottom:18px}.illustrated-room .intro h1{font-size:35px}.illustrated-room .scene-scroll{border-top:1px solid #c9bea8;border-bottom:1px solid #c9bea8;scroll-snap-type:none;background:#dedcc3}.illustrated-room .scene{width:1560px;height:780px;background:#e8e6d0;isolation:isolate}.room-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:0}.illustrated-room .ground,.illustrated-room .decor{display:none}.illustrated-room .street-machine{z-index:2;margin:0;border-radius:0;background-image:url('assets/holiday-plaza-v2.png');background-size:1560px 780px;background-repeat:no-repeat;transition:filter .22s,transform .22s;transform-origin:50% 80%;scroll-snap-align:none}.illustrated-room .street-machine:hover,.illustrated-room .street-machine:focus-visible{filter:brightness(1.08) saturate(1.05) drop-shadow(0 0 12px #fffbd1);transform:scale(1.025);outline:none}.illustrated-room .street-machine:focus-visible:after{content:'';position:absolute;inset:10%;border:2px dashed #fff9d6;border-radius:45%}.room-hud{position:absolute;z-index:4;top:20px;left:24px;display:flex;align-items:center;gap:10px;padding:10px 15px;background:#fff9e9ed;border:1px solid #a49176;box-shadow:2px 3px 0 #69563a20;border-radius:20px 15px 19px 13px;pointer-events:none}.room-hud .spark{font-size:25px;color:#96704b}.room-hud b{display:block;font:17px var(--hand)}.room-hud small{display:block;font-size:10px;color:#7d715d}.room-exit{position:absolute;right:25px;bottom:22px;background:#fff9e9e8;padding:9px 15px;border:1px solid #a49176;border-radius:15px;z-index:3;font:14px var(--hand)}.room-secret{position:absolute;z-index:3;background:none;border:0;padding:0;border-radius:50%;font-size:25px;transition:transform .25s,filter .25s;color:#fff6d2;text-shadow:0 1px 3px #352c24}.room-secret:hover,.room-secret:focus-visible{transform:scale(1.3) rotate(10deg);filter:drop-shadow(0 0 8px #fff4ae)}.room-secret.found{color:#fff9df;filter:drop-shadow(0 0 7px #fff4a6)}.room-secret.found:after{content:'✓';font-size:11px;background:#dce86a;color:#383a22;border-radius:50%;position:absolute;right:-5px;bottom:0;width:16px;height:16px;display:grid;place-items:center;text-shadow:none}.room-pet{position:absolute;width:43px;height:39px;z-index:3;left:48%;top:78%;pointer-events:none;transition:left 1s ease-in-out,top 1s ease-in-out;filter:drop-shadow(0 5px 2px #58462e33)}.room-pet svg{width:100%;height:100%}.walk-marker{position:absolute;width:24px;height:10px;border:2px solid #fff9e4aa;border-radius:50%;z-index:2;pointer-events:none;opacity:0}.walk-marker.active{animation:ripple .8s ease-out}.room-status{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#faf7ed;border-bottom:1px solid #d3c7ae;padding:13px 5vw}.room-status strong{font:20px var(--hand);display:block}.room-status p{font-size:11px;margin:2px 0}.room-status .room-hint{font-size:11px;color:#7d715d;text-align:right}.scene-portrait{width:100%;aspect-ratio:var(--portrait-ratio);position:relative;overflow:hidden;border-radius:45% 45% 12% 12%;background-image:url('assets/holiday-plaza-v2.png');background-repeat:no-repeat;background-size:var(--portrait-size) auto;background-position:var(--portrait-position);max-height:440px}.illustrated-room .walk-controls{background:#f4f0e6}.illustrated-room .page-footer{padding-top:0}.secret-toast{position:absolute;bottom:28px;left:50%;transform:translateX(-50%) translateY(15px);opacity:0;z-index:5;background:#fff8e9;padding:12px 20px;border:1px solid #a08b6d;border-radius:20px;font:17px var(--hand);pointer-events:none;transition:.2s}.secret-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes ripple{0%{opacity:1;transform:scale(.5)}100%{opacity:0;transform:scale(2)}}@media(max-width:650px){.illustrated-room .scene{width:1250px;height:625px}.illustrated-room .street-machine{background-size:1250px 625px}.illustrated-room .intro h1{font-size:30px}.room-status{align-items:start;padding:13px 20px}.room-status .room-hint{max-width:120px;font-size:10px}.room-hud{top:14px;left:17px}.room-hud small{font-size:9px}}@media(prefers-reduced-motion:reduce){.room-pet,.street-machine,.secret-toast{transition:none!important}.walk-marker.active{animation:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Desktop shows the whole room; small screens can pan across it. */
.illustrated-room .scene{--room-width:max(100vw,1100px);width:var(--room-width);height:calc(var(--room-width) / 2)}
.illustrated-room .street-machine{background-size:var(--room-width) calc(var(--room-width) / 2)}
.illustrated-room .walk-controls.no-pan button{display:none}
