*{box-sizing:border-box}html,body{margin:0;height:100%;background:#110e14;color:#f2ead8;font-family:"Courier New",monospace}
body{display:flex;justify-content:center;align-items:center}#game{width:min(1120px,100vw);height:min(790px,100vh);background:#1d1720;border:5px solid #070609;box-shadow:0 0 0 4px #5d4964;overflow:hidden}
header{height:56px;background:#0e0b11;border-bottom:4px solid #000;padding:0 16px;display:flex;align-items:center;justify-content:space-between}header b{color:#e1c36d;font-size:20px;text-shadow:3px 3px #503047}header span{font-size:12px}
#money{color:#8fd18f;font-weight:bold}#stage{height:520px;position:relative;overflow:hidden;border-bottom:4px solid #000}.scene{position:absolute;inset:0}.s1{background:linear-gradient(#594a61 0 68%,#69483e 68%)}.s2{background:linear-gradient(#68705a 0 67%,#755345 67%)}.s3{background:linear-gradient(#665b50 0 68%,#493a35 68%)}.s4{background:linear-gradient(#292943 0 57%,#49404a 57% 71%,#2c2930 71%)}.s5{background:linear-gradient(#4c4660 0 58%,#67574d 58%)}.s6{background:linear-gradient(#1c2330 0 72%,#10151e 72%)}.s7{background:linear-gradient(#101827 0 60%,#292431 60%)}.s8{background:linear-gradient(#382331 0 64%,#4b3033 64%)}.s9{background:linear-gradient(#22252b 0 68%,#15171b 68%)}
.obj{position:absolute;cursor:pointer;text-align:center;border:4px solid #2c232e;background:#5b4859;padding:7px;font-size:11px}.obj:hover{outline:4px solid #e5c96f;outline-offset:2px;filter:brightness(1.12)}.door{top:115px;width:145px;height:290px;padding-top:22px;background:#45343d}.left{left:30px}.right{right:30px}.paper{background:#e1d3a5;color:#342a32}.dark{background:#252936}.gc{background:#7e3038;color:#ffe1a2;border-color:#cfa653}.machine{background:#777c78;color:#e7eee5}.noborder{border:0;background:transparent;font-size:40px;padding:0}
#window{left:72px;top:55px;width:265px;height:175px;background:#171d35;border:12px solid #362b39;position:absolute}#window:before{content:"";position:absolute;left:50%;top:0;width:6px;height:100%;background:#362b39}#window:after{content:"";position:absolute;left:0;top:50%;width:100%;height:6px;background:#362b39}
#sofa{left:365px;bottom:42px;width:390px;height:155px;background:#593e55;border:9px solid #342638;border-radius:7px;box-shadow:inset 0 18px #73516e;position:absolute;cursor:pointer}#sofa:hover{outline:4px solid #e5c96f;outline-offset:3px}#sofa.shifted{transform:translateX(140px) rotate(2deg)}#sofa.moving{animation:sofaMove .7s steps(8) forwards}@keyframes sofaMove{to{transform:translateX(140px) rotate(2deg)}}
#letter{width:76px;height:54px;font-size:30px;right:185px;bottom:48px;z-index:20;box-shadow:5px 5px #2b2029}#letter.arrive{animation:letterIn .9s steps(9)}@keyframes letterIn{from{right:-90px}to{right:185px}}
#bottle{left:455px;bottom:52px}.pop{animation:pop .3s steps(3)}@keyframes pop{from{transform:scale(.3)}to{transform:scale(1)}}
#fridge{right:235px;top:60px;width:185px;height:285px;background:#b6b2a1;color:#3c3935;border:8px solid #484840;padding-top:28px}#fridge.shifted{transform:translateX(-110px)}#fridge.moving{animation:fridgeMove .65s steps(7) forwards}@keyframes fridgeMove{to{transform:translateX(-110px)}}
#counter{position:absolute;left:245px;right:35px;bottom:75px;height:135px;background:#5a493f;border:8px solid #302a27}#cupboard{left:535px;top:58px;width:165px;height:115px;background:#705b48;border:7px solid #3d3129;padding-top:30px}#noodles{left:595px;top:116px}#can{right:225px;bottom:90px}
#wardrobe{left:350px;top:60px;width:255px;height:285px;background:#4b382f;border:7px solid #30251f;padding-top:30px}#wardrobe .rail{height:18px;background:#765a42;margin:0 12px 18px;border:3px solid #30251f}#wardrobe .jackets{font-size:45px;letter-spacing:5px}#shoe{left:650px;bottom:72px}
#kiosk{left:205px;bottom:100px;width:245px;height:180px;padding-top:25px}.bighead{position:absolute;left:272px;bottom:190px;width:120px;height:120px;border-radius:50%;background:#c69670;border:7px solid #32252a;cursor:pointer;box-shadow:inset 0 -15px #a67559,5px 6px #251c22}.bighead:hover{outline:4px solid #e5c96f}.bighead:before{content:"•   •";position:absolute;top:34px;left:28px;color:#211a1e;font-size:26px}.bighead:after{content:"▰";position:absolute;bottom:15px;left:37px;color:#4b3029;font-size:38px}
#pfand{left:490px;bottom:100px;width:135px;height:165px;padding-top:48px}#worker{right:120px;bottom:95px}#market{right:35px;top:55px;width:160px}
#strength{left:165px;bottom:115px;width:185px;height:150px;padding-top:45px}#promo{left:430px;bottom:115px;width:185px;height:150px;padding-top:45px}#test{right:105px;top:58px;width:190px;height:115px;padding-top:20px}#recruiter{right:140px;bottom:85px}
#spacewin{left:90px;top:70px;width:250px;height:140px;background:#0b1020;color:#a9b8df;padding-top:50px}#keypad{left:430px;top:150px;width:150px;height:125px;padding-top:30px}
#station{left:410px;bottom:115px;width:185px;height:165px;padding-top:45px}#gcsign{right:155px;top:65px;width:185px;height:110px;padding-top:25px}
#menu{left:360px;top:75px;width:275px;height:175px;padding-top:28px}#alien{left:680px;bottom:100px}
#captives{left:180px;top:80px;width:185px;height:170px;padding-top:50px}#plant{left:425px;bottom:100px;width:215px;height:200px;padding-top:60px}#terminal{right:205px;top:70px;width:145px;height:110px;padding-top:35px}#cash{right:85px;bottom:85px;width:145px;height:105px;padding-top:30px}
.char{position:absolute;bottom:16px;z-index:12;text-align:center;cursor:pointer}.char i{display:block;font-style:normal;font-size:54px;line-height:58px}.char b{font-size:10px;background:#15111a;padding:3px}.char.active b{outline:2px solid #ffe278;color:#ffe278}.dave{left:35px}.muscle{left:145px}.cow{left:780px}
#dialog{position:absolute;z-index:50;left:50%;top:300px;transform:translate(-50%,-50%);width:820px;background:#0c0a0f;border:5px solid #d2b66b;padding:18px 22px;box-shadow:8px 8px #000;cursor:pointer}#who{display:block;color:#e4c465;font-size:18px;margin-bottom:8px}#text{font-size:18px;min-height:48px;line-height:1.35}#dialog small{display:block;text-align:right;color:#8d7d91}
footer{height:210px;padding:9px;background:#17121b;display:grid;grid-template-columns:1.15fr 1.35fr .9fr;gap:10px}.label{font-size:10px;color:#8f8094;margin-bottom:5px}#verbs{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}button{font-family:inherit;color:#f2ead8;background:#2b2031;border:4px solid #5e4965;height:54px;font-weight:bold;cursor:pointer}button:hover,button.on{border-color:#d8bd6d;background:#60465f;color:#ffe68a}
#inventory{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.slot{height:62px;border:4px solid #4c3b52;background:#0e0b12;display:flex;align-items:center;justify-content:center;text-align:center;font-size:10px;padding:3px;cursor:pointer}.slot:hover{border-color:#b59b64}.slot.on{border-color:#ffe278;color:#ffe278;background:#241a28}.slot.empty{cursor:default;color:#332a37}
#party{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}#party button{font-size:10px}
.hidden{display:none!important}#overlay{position:fixed;inset:0;z-index:90;background:#0d0b10f5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}#overlay h1{color:#e1c36d;font-size:42px;text-shadow:4px 4px #503047}#overlayText{max-width:720px;line-height:1.7;margin-bottom:20px}#overlay button{width:180px}

/* MASTER layout cleanup: hallway + kiosk */
#bathroomDoor{
  left:205px;
  top:115px;
  width:145px;
  height:290px;
  padding-top:52px;
  background:#4b4039;
  border:7px solid #302823;
  color:#e9dfcb;
}
#bathroomDoor .bathSign{
  display:block;
  margin:18px auto 0;
  width:105px;
  padding:7px 3px;
  background:#d8c89a;
  color:#352d2b;
  border:3px solid #302823;
  transform:rotate(-2deg);
}
#wardrobe{
  left:390px!important;
  width:235px!important;
}
#shoe{
  left:650px!important;
}
#kiosk{
  left:205px!important;
  bottom:100px!important;
  width:260px!important;
  height:185px!important;
  padding-top:18px!important;
  font-size:13px!important;
  z-index:3;
}
#kiosk .kiosk-sign{
  display:block;
  background:#e0cf95;
  color:#342b2b;
  border:4px solid #3b2e30;
  margin:0 14px 12px;
  padding:8px 4px;
  font-size:18px;
  font-weight:bold;
  letter-spacing:2px;
}
#kioskOwner{
  position:absolute;
  left:295px;
  bottom:78px;
  width:72px;
  height:118px;
  z-index:7;
  cursor:pointer;
}
#kioskOwner:hover{outline:4px solid #e5c96f;outline-offset:3px}
#kioskOwner .head{
  position:absolute;
  left:16px;
  top:0;
  width:40px;
  height:43px;
  border-radius:45%;
  background:#c69670;
  border:4px solid #32252a;
}
#kioskOwner .head:before{
  content:"•  •";
  position:absolute;
  left:6px;top:8px;
  color:#211a1e;
  font-size:13px;
}
#kioskOwner .body{
  position:absolute;
  left:5px;
  bottom:0;
  width:62px;
  height:78px;
  background:#4d5960;
  border:5px solid #32252a;
  border-radius:10px 10px 2px 2px;
}


/* MASTER MOVEMENT / WALK ZONE */
#stage{cursor:crosshair}
.char{
  left:auto;
  transition-property:left,bottom;
  transition-timing-function:linear;
  will-change:left,bottom,transform;
  transform-origin:50% 100%;
  animation:wg-idle 1.8s steps(2,end) infinite;
}
.char.walking{animation:wg-walk .22s steps(2,end) infinite;z-index:20}
.char.face-left i{display:block;transform:scaleX(-1)}
.char.interact-bob{animation:wg-interact .20s ease-out 1}
@keyframes wg-idle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-2px) rotate(1deg)}}
@keyframes wg-walk{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes wg-interact{0%{transform:translateY(0)}50%{transform:translateY(-8px) scale(1.04)}100%{transform:translateY(0)}}
#letter.arrive{animation-iteration-count:1!important;animation-fill-mode:forwards!important}
@media (prefers-reduced-motion:reduce){.char,.char.walking,.char.interact-bob{animation:none}.char{transition-duration:0s!important}}

/* Wohnzimmer CRT television */
.crt-tv{position:absolute;left:735px;bottom:92px;width:205px;height:175px;z-index:4;cursor:pointer}
.crt-tv .tv-shell{position:absolute;left:0;top:0;width:205px;height:135px;background:#2b2928;border:7px solid #151414;border-radius:13px;box-sizing:border-box;box-shadow:inset 0 0 0 3px #555}
.crt-tv .tv-screen{position:absolute;left:12px;top:12px;width:153px;height:102px;background:#050505;border:5px solid #080808;border-radius:14px/10px;overflow:hidden;box-sizing:border-box}
.crt-tv .tv-screen img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:pixelated}
.crt-tv .tv-controls{position:absolute;right:8px;top:18px;width:24px;display:flex;flex-direction:column;gap:13px}
.crt-tv .tv-controls span{width:18px;height:18px;background:#777;border:3px solid #111;border-radius:50%;box-sizing:border-box}
.crt-tv .tv-stand{position:absolute;left:32px;top:132px;width:140px;height:39px;border-left:10px solid #222;border-right:10px solid #222;border-bottom:9px solid #222;box-sizing:border-box}

/* Expanded WG living/sleeping room props */
.wg-bed{position:absolute;left:70px;bottom:108px;width:230px;height:92px;background:#695746;border:7px solid #211b18;box-sizing:border-box;z-index:2}
.wg-bed .pillow{position:absolute;left:12px;top:9px;width:68px;height:30px;background:#ddd2b9;border:4px solid #211b18}
.wg-bed .blanket{position:absolute;right:7px;bottom:6px;width:128px;height:55px;background:#7b4250;border:4px solid #211b18}
.wg-lamp{position:absolute;left:305px;bottom:111px;width:52px;height:118px;z-index:2}.wg-lamp:before{content:"";position:absolute;left:22px;top:34px;width:7px;height:76px;background:#28231e}.wg-lamp span{position:absolute;left:2px;top:0;width:48px;height:40px;background:#d4b46c;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);border-bottom:5px solid #33291b}
.wg-crate{position:absolute;left:365px;bottom:105px;width:82px;height:64px;background:#8b6238;border:6px solid #342414;display:flex;align-items:center;justify-content:center;font-size:12px;z-index:2}
.wg-poster{position:absolute;left:390px;top:42px;width:95px;height:125px;background:#c9b56f;border:5px solid #171717;transform:rotate(-2deg);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:bold;z-index:1}
.wg-shelf{position:absolute;left:510px;top:65px;width:135px;height:38px;border-bottom:8px solid #382b20;z-index:1}.wg-shelf i{display:inline-block;width:20px;height:28px;margin:0 7px;background:#73554b;border:3px solid #222}
.wg-socks{position:absolute;left:475px;bottom:76px;font-size:30px;transform:rotate(18deg);z-index:3}
.wg-mug{position:absolute;left:610px;bottom:157px;font-size:28px;z-index:5}
.wg-alarm{position:absolute;left:165px;bottom:204px;background:#171717;color:#e66;padding:5px 8px;border:4px solid #555;font:bold 12px monospace;z-index:3}


/* Living-room interaction hitboxes: same visible feedback as the original objects. */
.scene.s1 .obj[data-id="bed"],
.scene.s1 .obj[data-id="lamp"],
.scene.s1 .obj[data-id="crate"],
.scene.s1 .obj[data-id="poster"],
.scene.s1 .obj[data-id="shelf"],
.scene.s1 .obj[data-id="socks"],
.scene.s1 .obj[data-id="mug"],
.scene.s1 .obj[data-id="alarm"]{cursor:pointer}
.scene.s1 .obj[data-id="bed"]:hover,
.scene.s1 .obj[data-id="lamp"]:hover,
.scene.s1 .obj[data-id="crate"]:hover,
.scene.s1 .obj[data-id="poster"]:hover,
.scene.s1 .obj[data-id="shelf"]:hover,
.scene.s1 .obj[data-id="socks"]:hover,
.scene.s1 .obj[data-id="mug"]:hover,
.scene.s1 .obj[data-id="alarm"]:hover{outline:3px solid #fff;outline-offset:3px}
