:root{font-family:Georgia,serif;color:#f4e7d2;background:#171d2b;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#4c3d58,transparent 70%),#171d2b}main{max-width:1250px;margin:auto;padding:27px 27px 70px}header{display:flex;gap:18px;align-items:center;justify-content:space-between}small{font:10px system-ui;letter-spacing:2px;color:#dbbd8b}h1{font-weight:normal;font-size:clamp(29px,4vw,43px);color:#ffdc9e;margin:8px 0 20px}h2{font-weight:normal;font-size:24px;margin:8px 0 12px}button,a{font:14px system-ui;min-height:44px;padding:11px 14px;border:1px solid #8e7c91;border-radius:10px;background:#383747;color:#f9e7c8;cursor:pointer}button:hover{background:#51485e}button:focus-visible,a:focus-visible{outline:3px solid #ffe29a;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.tools{display:flex;gap:7px;flex-wrap:wrap}nav{display:flex;gap:10px;margin:0 0 18px;flex-wrap:wrap}nav button[aria-pressed=true]{border-color:#e7be76;background:#5a4a52}.meters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:19px;font:14px system-ui}.meters span{padding:11px 13px;background:#293c3d;border:1px solid #6c8271;border-radius:10px}.layout{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.roof{text-align:center;padding:21px 5px 17px;background:#2a2939;border:1px solid #947a70;border-radius:70px 70px 0 0;color:#d5bb87;letter-spacing:2px;font-size:13px}#house{display:grid;grid-template-columns:1fr 1fr;background:#7a6571;padding:8px;gap:8px}#house>button{min-height:220px;text-align:left;position:relative;border-radius:2px;padding:16px;background:linear-gradient(145deg,#514c5c,#343f4e);border:2px solid #ffffff22;display:flex;flex-direction:column;gap:10px}#house>button[aria-pressed=true]{border-color:#ffdc9d;box-shadow:inset 0 0 30px #b3925833}#house>button.lit{background:linear-gradient(135deg,#817450,#554858)}#house .name{font:22px Georgia;color:#ffe1ac}#house .prop{font:13px system-ui;color:#dad0d8}.furnishing{font-size:46px;line-height:1.1}.occupants{display:flex;gap:8px;flex-wrap:wrap;min-height:30px}.person{border-radius:12px;background:#c3cebc;color:#25323a;padding:6px;font:12px system-ui}.person.flee{background:#ebc291}.roomtags{font:11px system-ui;color:#e8c881;min-height:14px}.porch{background:#725943;padding:14px;text-align:center;font:12px system-ui;color:#f5d9b3;border-radius:0 0 12px 12px}aside{padding:22px;border:1px solid #786878;border-radius:14px;background:#282c3d}#powers{display:grid;gap:9px}#powers button{text-align:left;padding:13px}.note,#roomStatus{font:13px/1.7 system-ui;color:#cfc5cd}.primary{background:#e1ba7c;color:#242d3a}#visitors,.journal{margin-top:20px;border:1px solid #665d74;background:#262b3c;border-radius:12px;padding:20px}#people{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.visitor{padding:12px;background:#37404a;border-radius:9px;font:13px/1.6 system-ui}.visitor strong{color:#ffe0a1}.visitor meter{width:100%;height:12px}.journal p{font:15px/1.8 system-ui;margin-bottom:6px}#result button{margin:8px 8px 0 0}footer{font:12px/1.8 system-ui;color:#c6bfcc;margin-top:18px}footer button{font-size:12px;padding:5px 10px;margin:7px}a{color:#ffe1a5}dialog{max-width:min(680px,94vw);max-height:90dvh;overflow:auto;background:#303447;color:#f4e7d2;border:1px solid #d3b079;border-radius:16px;padding:25px}dialog p,dialog li{font:15px/1.8 system-ui}dialog::backdrop{background:#0e1727d4}[hidden]{display:none!important}@media(max-width:700px){main{padding:18px 12px 65px}header{display:block}.tools{margin-bottom:16px}small{font-size:9px}.tools button{font-size:12px;padding:9px}nav{gap:7px}nav button{font-size:12px;padding:9px}.layout{grid-template-columns:1fr;gap:15px}.meters{font-size:12px;gap:6px}.meters span{padding:9px}.roof{font-size:10px}#house{gap:6px;padding:6px}#house>button{min-height:205px;padding:11px}#house .name{font-size:19px}#house .prop{font-size:11px}.person{font-size:10px;padding:5px}.furnishing{font-size:38px}aside{padding:17px}#powers{grid-template-columns:1fr 1fr;gap:8px}#powers button{font-size:12px;padding:11px}#people{grid-template-columns:1fr 1fr}.porch{font-size:10px}}
.furnishing{display:inline-block;align-self:flex-start;transform-origin:50% 90%}.haunt-furniture .furnishing{animation:rattle .65s ease-out}.haunt-door{animation:doorwave .65s ease-out}.haunt-whisper .roomtags::after{content:'pssst…';color:#e6d3ff}.haunt-lights .furnishing{filter:drop-shadow(0 0 12px #ffe3a1)}@keyframes rattle{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-8px) rotate(-9deg)}45%{transform:translateY(-3px) rotate(8deg)}70%{transform:translateY(-5px) rotate(-4deg)}}@keyframes doorwave{0%,100%{box-shadow:inset 0 0 0 #dcc5a400}40%{box-shadow:inset 0 0 45px #dcc5a466}}@media(prefers-reduced-motion:reduce){.haunt-furniture .furnishing,.haunt-door{animation:none}}
