.arcade-scene.haunted-scene{display:block;padding:0;min-height:0;overflow:hidden;border:1px solid #8a71c4;background:#171125;border-radius:18px}
.haunted-room{position:relative;isolation:isolate;min-height:480px;background-color:#211831;background-image:url('assets/haunted-house/rooms-atlas-v1.png');background-size:300% 200%;background-position:var(--room-x) var(--room-y);overflow:hidden;animation:haunt-enter .6s ease-out}
.haunted-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#100b20dd,transparent 43%,#100b2066);z-index:-1}
.haunted-room-heading{position:relative;padding:24px;color:#fff;text-shadow:0 2px 8px #000}.haunted-room-heading small{font-size:11px;letter-spacing:2px;color:#ffd980}.haunted-room-heading h3{font-size:clamp(24px,3vw,38px);margin:8px 0}.haunted-room-heading p{margin:0;color:#e9e0ff}
.haunted-player{position:absolute;bottom:5%;left:4%;width:150px;filter:drop-shadow(0 14px 10px #0008);animation:haunt-bob 3s ease-in-out infinite}.haunted-player>span{display:block;text-align:center;background:#171125dd;padding:5px;border-radius:10px;color:#fff}.haunted-player .pet-avatar{width:100%;height:150px}
.haunted-hotspot{position:absolute;min-height:52px;width:clamp(145px,27%,240px);border:1px solid #ffe9a3!important;background:#231937ee!important;color:#fff8dd!important;border-radius:14px!important;box-shadow:0 0 0 5px #ffe9a318,0 0 28px #ffca5355;padding:12px!important;text-align:left;font-size:15px;animation:haunt-glow 3s ease-in-out infinite}.haunted-hotspot span{display:inline-block;margin-right:8px;color:#ffd574}.haunted-hotspot.clue-0{left:28%;top:45%}.haunted-hotspot.clue-1{right:4%;top:65%}.haunted-hotspot.is-found{border-color:#80ebcb!important;box-shadow:0 0 20px #80ebcb33;animation:none}
.haunted-door{position:absolute;right:12%;top:32%;font-size:60px;color:#ffdc80;filter:drop-shadow(0 0 12px #ffe4a2);transition:transform .7s,opacity .7s;pointer-events:none}.haunted-door.is-unlocked{transform:scale(1.4);color:#8df4d6}
.haunted-ghost{position:absolute;top:32%;left:17%;display:flex;align-items:center;justify-content:center;width:55px;height:65px;border-radius:50% 50% 25% 25%;background:#b9e7fb9e;color:#322251;box-shadow:0 0 26px #b9e7fb88;animation:haunt-bob 4s ease-in-out infinite;pointer-events:none}.haunted-ghost span{font-size:13px;align-self:flex-end;margin-bottom:15px}
.haunted-fireflies{position:absolute;inset:30% 10% auto 30%;color:#ffeab8;letter-spacing:50px;animation:haunt-bob 6s ease-in-out infinite;pointer-events:none}.haunted-fireflies i{color:#b7ffed}
.haunted-inventory{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:16px;background:#191326;border:1px solid #594477;border-radius:14px;margin:16px 0;color:#fff}.haunted-inventory span{padding:6px 10px;border-radius:20px;background:#382848;color:#ffe2a0;font-size:13px}.haunted-puzzle{padding:22px;background:#201b2d;border:1px solid #63547c;border-radius:16px;color:#fff}.haunted-puzzle-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.haunted-puzzle h3{margin:5px 0 12px;font-size:22px}.haunted-puzzle small{color:#c8b2ee}.haunted-clue-note{padding:14px;border-left:3px solid #e8bd67;background:#15101d;line-height:1.6;min-height:70px;color:#f1e8ff}.haunted-choices{display:grid;gap:10px}.haunted-choices button{padding:15px;text-align:left;background:#342943;color:#fff;border:1px solid #9680b2;min-height:48px}.haunted-choices button:disabled{opacity:.5}.haunted-controls button:focus-visible,.haunted-room button:focus-visible{outline:3px solid #99f6de;outline-offset:4px}.haunted-success{padding:20px;background:#153c36;border:1px solid #73dabc;border-radius:12px;margin-top:18px;color:#e6fff5}.haunted-success p{line-height:1.6}.haunted-help{font-size:12px;line-height:1.5;color:#c9bfd8;margin-bottom:0}.haunted-celebration{position:absolute;top:48%;left:38%;color:#fff0a1;font-size:70px;animation:haunt-bob 3s infinite}.is-escaped{filter:brightness(1.2)}
@keyframes haunt-bob{50%{transform:translateY(-9px)}}@keyframes haunt-glow{50%{box-shadow:0 0 0 8px #ffe9a320,0 0 35px #ffca5366}}@keyframes haunt-enter{from{opacity:.3;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}
@media(max-width:650px){.haunted-room{min-height:430px}.haunted-room-heading{padding:16px}.haunted-player{width:95px;left:1%;bottom:3%}.haunted-player .pet-avatar{height:110px}.haunted-hotspot{font-size:12px;width:43%;padding:10px!important}.haunted-hotspot.clue-0{left:5%;top:44%}.haunted-hotspot.clue-1{right:4%;top:63%}.haunted-puzzle{padding:14px}.haunted-puzzle h3{font-size:19px}.haunted-ghost{left:65%;top:34%}}
@media(prefers-reduced-motion:reduce){.haunted-room,.haunted-player,.haunted-ghost,.haunted-hotspot,.haunted-fireflies,.haunted-celebration{animation:none!important}.haunted-door{transition:none}}
