*{box-sizing:border-box}:root{--ink:#172123;--paper:#efeee8;--red:#d54a42;--green:#dce8df;--blue:#dce8eb;--yellow:#eedf93}
body{margin:0;color:var(--ink);font-family:Arial,sans-serif;background:var(--paper);background-image:linear-gradient(#00000008 1px,transparent 1px),linear-gradient(90deg,#00000008 1px,transparent 1px);background-size:20px 20px}
.shell{width:min(930px,calc(100% - 22px));margin:auto;padding:30px 0 70px}.hero{background:#f9f8f3;border:2px solid;padding:28px;box-shadow:7px 7px 0 var(--ink)}.badge{font:700 10px "Courier New";letter-spacing:.15em}.hero h1{font-size:clamp(50px,10vw,90px);line-height:.8;letter-spacing:-.07em;margin:24px 0}.hero p{max-width:620px;font:14px/1.6 "Courier New"}.black,.back,.after button{border:2px solid;background:#fff;padding:11px 15px;font:700 11px "Courier New";box-shadow:3px 3px 0;cursor:pointer}.hidden{display:none!important}
.map{margin-top:22px;border:2px solid;background:#f8f7f1;padding:20px;position:relative}.map-head{display:flex;justify-content:space-between;border-bottom:1px solid;padding-bottom:12px;font:11px "Courier New"}.rooms{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.rooms button{min-height:120px;border:1px solid;background:#fff;text-align:left;padding:16px;font-size:26px;cursor:pointer;transition:.15s}.rooms button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0}.rooms b,.rooms small{display:block;font:700 13px "Courier New";margin-top:8px}.rooms small{font-weight:400;color:#596264}.stamp{margin:22px 0 2px auto;width:180px;border:3px double var(--red);color:var(--red);padding:8px;text-align:center;font:900 11px "Courier New";transform:rotate(-3deg)}
.game{margin-top:22px}.back{margin-bottom:12px}.room-card{border:2px solid;background:#faf9f4;padding:22px}.room-card h2{margin:0;border-bottom:1px solid;padding-bottom:10px}.room-card>p{font:13px/1.55 "Courier New"}.screen{background:#202a2b;color:#d9f0d8;padding:13px;margin-top:14px;min-height:48px;font:12px/1.5 "Courier New"}.big-red{display:block;margin:35px auto;width:min(380px,90%);height:145px;border:5px solid #6b201b;border-radius:50%;background:var(--red);color:white;font-size:25px;font-weight:900;box-shadow:0 12px 0 #822b25;cursor:pointer}.big-red:active{transform:translateY(8px);box-shadow:0 4px 0 #822b25}
.falling{height:360px;border:2px solid;position:relative;overflow:hidden;background:var(--green)}.trash{position:absolute;bottom:10px;left:38%;width:24%;height:90px;background:#f0d747;border:3px solid;display:grid;place-items:center;font:900 11px "Courier New";z-index:2}.fall-item{position:absolute;width:190px;padding:8px;border:1px solid;background:white;font:11px "Courier New";cursor:pointer}.positive{background:#fff2b8}.scoreline{font:700 12px "Courier New";margin:10px 0}
.ward{height:390px;border:2px solid;position:relative;background:var(--blue);overflow:hidden}.bed{position:absolute;left:34%;top:30%;width:32%;height:25%;background:white;border:2px solid;display:grid;place-items:center}.staff{position:absolute;border:2px solid;border-radius:50%;width:58px;height:58px;background:white;display:grid;place-items:center;font-weight:bold}.a{left:8%;top:12%}.r{right:9%;top:14%}.n{right:8%;bottom:13%}.you{position:absolute;width:45px;height:45px;border:2px solid;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font:900 9px "Courier New";left:45%;bottom:7%;transition:.3s}.ward button{position:absolute;border:1px dashed;background:#ffffffaa;padding:6px;font:10px "Courier New";cursor:pointer}.w1{left:42%;top:60%}.w2{left:7%;top:40%}.w3{right:4%;top:46%}.w4{left:3%;bottom:5%}.w5{right:2%;bottom:3%}
.pager{width:230px;background:#343c3e;border:5px solid #171b1c;border-radius:12px;padding:15px;margin:25px auto;box-shadow:5px 6px 0 #8f8b84}.pager-display{background:#b8c79b;padding:15px;min-height:80px;font:700 12px/1.5 "Courier New"}.pager button{width:100%;margin-top:10px;padding:9px}.choices{display:grid;gap:8px;margin-top:15px}.choices button,.word,.action{border:1px solid;background:white;padding:11px;text-align:left;font:12px "Courier New";cursor:pointer}.choices button:hover,.action:hover{background:#eee}
.note-box{border:2px solid;background:white;padding:18px;margin:15px 0;font:14px/1.6 "Courier New"}.words{display:flex;flex-wrap:wrap;gap:7px}.word.selected{background:var(--yellow)}.elevator{height:350px;border:6px solid #777;background:linear-gradient(90deg,#bbb 49%,#777 50%,#bbb 51%);position:relative}.elevator-person{position:absolute;bottom:35px;left:42%;width:80px;height:130px;border:2px solid;background:#eee;display:grid;place-items:center;text-align:center;font:700 11px "Courier New"}.elevator-panel{position:absolute;right:15px;top:40px;background:#222;color:#f66;padding:8px;font:16px monospace}.pager-float{position:fixed;right:15px;top:15px;z-index:9;background:#252d2f;color:white;border:2px solid white;padding:10px;width:170px;box-shadow:5px 5px 0 #000;animation:buzz .15s infinite alternate}.pager-float span,.pager-float button{display:block;margin-top:6px;font:10px "Courier New"}.pager-float button{width:100%}@keyframes buzz{to{transform:translateX(2px)}}
.after{position:fixed;inset:0;background:#17202b;color:#f4efdf;z-index:20;display:grid;place-items:center;text-align:center;padding:25px}.after span{font-size:60px}.after h2{font:48px Georgia;margin:10px}.after p{font:13px "Courier New"}.after strong{display:block;font:500 20px Georgia;margin-top:15px}.after button{margin-top:28px}
@media(max-width:620px){.rooms{grid-template-columns:1fr}.hero{padding:20px}.ward{height:430px}.falling{height:420px}.trash{left:30%;width:40%}}
.waste-bin-log{margin-top:22px;border:3px solid var(--ink);background:#d9c33f;box-shadow:5px 5px 0 var(--ink)}
.waste-bin-lid{background:#f0d747;border-bottom:3px solid var(--ink);padding:12px 14px;font:900 11px "Courier New",monospace;letter-spacing:.06em}
.bin-contents{background:#303536;min-height:130px;max-height:310px;overflow:auto;padding:12px}
.empty-bin{color:#b9c2bd;text-align:center;font:11px "Courier New",monospace;margin:38px 0}
.disposed-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;background:#f5f1e4;border:1px solid #151a1b;margin-bottom:7px;padding:9px;transform:rotate(-.25deg);box-shadow:2px 2px 0 #111}
.disposed-item:nth-child(even){transform:rotate(.35deg)}
.disposed-item span{font:900 10px "Courier New",monospace;color:#666}
.disposed-item p{margin:0;font:11px/1.35 "Courier New",monospace}
.disposed-item b{font:900 9px "Courier New",monospace;color:#9b302a;border:1px solid #9b302a;padding:4px;transform:rotate(-3deg)}
.bin-bottom{padding:9px;text-align:center;border-top:3px solid var(--ink);font:900 9px "Courier New",monospace}

.sort-progress{display:flex;justify-content:space-between;gap:10px;border:1px solid;padding:10px 12px;margin:15px 0;background:#f0d747;font:900 11px "Courier New",monospace}
.sort-stage{min-height:235px;display:grid;place-items:center;background:var(--green);border:2px solid;padding:22px}
.sort-card{width:min(560px,94%);background:#fffdf5;border:1px solid;padding:22px;box-shadow:5px 5px 0 var(--ink);transform:rotate(-.3deg)}
.sort-card small{font:900 9px "Courier New",monospace;color:#68706d}.sort-card p{font:16px/1.5 "Courier New",monospace;min-height:70px}
.sort-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sort-actions button,.positive-confirm button,.receipt button{border:1px solid;background:white;padding:11px;font:700 11px "Courier New",monospace;cursor:pointer}.sort-actions button:first-child{background:#f0d747}
.positive-confirm{margin:15px 0;border:2px solid #9b302a;background:#fff2b8;padding:18px;text-align:center;font:12px "Courier New",monospace}.positive-confirm b{color:#9b302a}.positive-confirm div{display:flex;justify-content:center;gap:8px}
.sort-bins{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.final-bin{border:2px solid;min-height:150px;padding:10px}.final-bin h3{font:900 11px "Courier New",monospace;margin:0 0 10px;border-bottom:1px solid;padding-bottom:8px}.waste-final{background:#e4cf45}.keep-final{background:#dce8df}.sorted-slip{background:#faf8ef;border:1px solid;margin:5px 0;padding:7px;font:10px/1.3 "Courier New",monospace;transform:rotate(-.2deg)}
.receipt{width:min(430px,95%);margin:22px auto 4px;background:#fff;padding:20px;border:1px dashed #555;box-shadow:3px 3px 0 #aaa;font:11px/1.65 "Courier New",monospace}.receipt hr{border:0;border-top:1px dashed;margin:10px 0}.receipt button{margin-top:8px;width:100%}
@media(max-width:620px){.sort-bins{grid-template-columns:1fr}.sort-progress{flex-direction:column}.sort-actions{grid-template-columns:1fr}}
