*{box-sizing:border-box}body{margin:0;background:#d1b7c1;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #6be5e0;outline-offset:3px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(37,20,36,.75),transparent 75%),linear-gradient(0deg,rgba(27,18,31,.35),transparent 35%)}body.playing .vignette{background:linear-gradient(0deg,rgba(25,19,33,.35),transparent 25%)}header{position:fixed;left:40px;right:40px;top:30px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-size:17px;letter-spacing:2px;font-weight:800}.logo{width:49px;height:49px;border-radius:15px;background:#f04d89;display:grid;place-items:center;font-size:36px;letter-spacing:-4px;padding-right:4px}.brand small{display:block;font-size:11px;letter-spacing:3px;margin-top:6px;font-weight:400;opacity:.75}.topright{display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:2px}#pause{color:white;background:#ffffff20;border:1px solid #ffffff40;border-radius:50%;height:42px;width:42px}#welcome{position:fixed;left:8%;top:27%;max-width:580px}.eyebrow{color:#ffb7d2;letter-spacing:3px;font-size:12px;font-weight:bold}h1{font-size:clamp(44px,5.2vw,80px);line-height:1.02;letter-spacing:-4px;margin:22px 0}h1 em{font-style:normal;color:#ffb8d0}p{font-size:16px;line-height:1.65;opacity:.85}.select{display:flex;gap:12px;margin:28px 0 17px}.select button{color:white;text-align:left;background:#ffffff08;border:1px solid #ffffff40;border-radius:12px;padding:16px 20px;font-weight:700;font-size:14px}.select button.selected{border-color:#ff9bc0;background:#ed4a7c35}.select small{display:block;font-size:12px;opacity:.7;margin-top:7px;font-weight:400}.primary{background:#f3508a;border:0;color:white;border-radius:12px;padding:20px 24px;font-weight:bold;min-width:300px;font-size:17px;box-shadow:0 8px 40px #eb46784a}.primary span{float:right}.guide{font-size:12px;line-height:1.8;margin-top:21px;opacity:.65}#best{margin-top:12px;font-size:13px;color:#ffc9db}.metrics{position:fixed;top:28px;left:50%;transform:translateX(-50%);display:flex;background:#251d32dc;border:1px solid #ffffff26;border-radius:16px;padding:15px 7px;backdrop-filter:blur(15px)}.metrics div{padding:0 22px;border-right:1px solid #ffffff20}.metrics div:last-child{border:0}.metrics small{display:block;color:#c7bbcb;font-size:10px;letter-spacing:1.5px;margin-bottom:6px}.metrics strong{font-size:22px}.mission{position:fixed;left:30px;top:128px;width:270px;background:#271d32e8;padding:22px;border-radius:18px;border:1px solid #ffffff20}.mission h2{font-size:20px;margin:12px 0 6px}.mission p{font-size:14px;margin:0 0 20px}.progress{background:#ffffff16;height:4px;border-radius:4px}.progress i{display:block;background:#fa79a9;height:4px;width:0;transition:width .4s}#objectiveCount{font-size:12px;color:#bdb0c3;margin-top:12px}.location{position:fixed;bottom:95px;left:30px;font-size:14px;letter-spacing:2px}.location small{display:block;font-size:10px;opacity:.6;margin-top:7px}.bottom{position:fixed;bottom:24px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:12px;color:#fff9}#inventory{color:#ffe1ac;font-size:14px}#crosshair{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.7;pointer-events:none}#prompt{position:fixed;bottom:85px;left:50%;transform:translateX(-50%)}#interact{padding:15px 24px;background:#292133e8;color:white;border:1px solid #ff9dc3;border-radius:40px;font-size:14px}#toast{position:fixed;top:110px;left:50%;transform:translateX(-50%);background:#f9f4f8;color:#342b3b;border-radius:30px;padding:14px 24px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none;text-align:center;max-width:90vw}#modal{position:fixed;inset:0;display:grid;place-items:center;background:#170c2355;backdrop-filter:blur(9px)}.dialog{width:min(470px,92vw);max-height:90vh;overflow:auto;background:#2a2133;border:1px solid #ffffff30;border-radius:24px;padding:32px;box-shadow:0 30px 100px #0005}.dialog h2{font-size:30px;letter-spacing:-1px;margin:14px 0}.dialog p{font-size:16px}.dialog button{display:block;width:100%;padding:16px 18px;text-align:left;background:#ffffff0a;border:1px solid #ffffff25;color:white;border-radius:12px;margin-top:10px;font-size:14px}.dialog button:hover{background:#f4508740;border-color:#ff9dc3}.dialog button:first-child{background:#f3508a;border-color:#f3508a}.touch{display:none;position:fixed;bottom:65px;left:20px}.touch button{width:46px;height:46px;background:#29213388;border:1px solid #fff5;border-radius:12px;color:white;margin:2px;touch-action:none}.touch div{text-align:center}#finish{position:fixed;right:30px;bottom:85px;border:1px solid #fff4;background:#29213388;color:white;padding:12px 18px;border-radius:20px;font-size:13px}#error{position:fixed;inset:0;background:#2a2133;padding:15vh 10vw;z-index:20}@media(pointer:coarse){.touch{display:block}.bottom span:last-child{display:none}.location{display:none}}@media(max-width:900px){header{left:20px;right:20px;top:20px}.brand{font-size:13px}.brand small{font-size:9px}.metrics{top:92px;width:calc(100% - 40px);justify-content:space-around}.metrics div{padding:0 12px}.metrics strong{font-size:18px}.mission{top:174px;left:20px;width:220px;padding:16px}.mission p{font-size:13px}.mission h2{font-size:17px}.mission .eyebrow{font-size:10px}#welcome{left:7%;top:22%}h1{letter-spacing:-2px}.select button{padding:13px}.topright{gap:10px}#toast{top:160px}#prompt{bottom:180px;white-space:nowrap}.bottom{left:20px}#finish{right:20px;bottom:30px}}@media(max-height:680px){#welcome{top:18%}h1{font-size:46px;margin:16px 0}.select{margin:15px 0}.guide{margin-top:12px}.mission{top:110px}.metrics{top:20px;left:65%;width:auto}.metrics div{padding:0 10px}.mission p{margin-bottom:10px}}

.mission{max-height:calc(100vh - 235px);overflow-y:auto;width:300px}.objectives{margin-top:14px}.objectives summary{cursor:pointer;font-size:14px;color:#f8c0d7}.objectives ul{list-style:none;padding:0;margin:12px 0}.objectives li{font-size:13px;line-height:1.5;margin:8px 0;color:#e1d4e6}.objectives li.done{color:#94dfc3}#survivalStatus{font-size:12px;line-height:1.6;border-top:1px solid #ffffff25;padding-top:10px;color:#ffcbab}@media(max-width:900px){.mission{width:225px;max-height:calc(100vh - 330px)}}@media(max-height:680px){.mission{max-height:calc(100vh - 210px)}}

#eventPanel{position:fixed;right:30px;top:128px;width:260px;background:#252331ed;border:1px solid #ffffff30;border-left:3px solid #f5bf79;border-radius:15px;padding:20px;backdrop-filter:blur(16px)}#eventPanel .eyebrow{font-size:10px;color:#f5bf79}#eventPanel h2{font-size:19px;margin:12px 0 8px}#eventPanel p{font-size:14px;margin:0 0 12px}#eventTime{font-size:13px;color:#f5ce95}@media(max-width:900px){#eventPanel{top:auto;bottom:82px;right:12px;width:190px;padding:12px}#eventPanel h2{font-size:15px}#eventPanel p{font-size:12px}.mission{width:210px}}

.touch{display:block;bottom:48px;left:24px}.controlLabel{display:block;font-size:10px;letter-spacing:2px;color:#fffc;margin-bottom:6px;text-align:center}.touch .forward{display:block;margin:0 auto 4px}.touch button,.lookControls button{width:48px;height:44px;border-radius:12px;background:#302a3ee8;border:1px solid #fff5;color:white;touch-action:none;user-select:none;font-size:22px}.touch button:active,.lookControls button:active{background:#ec4d87}.lookControls{position:fixed;right:24px;bottom:48px;text-align:center}.lookControls button{margin:2px}.lookControls #runToggle,.lookControls #actionTouch{font-size:12px;font-weight:bold}.lookControls #actionTouch{background:#e94c83}.lookControls #runToggle[aria-pressed=true]{background:#4a9c83}.location{bottom:205px}.bottom{bottom:15px}.bottom span:last-child{display:none}#finish{bottom:190px;right:24px}#prompt{bottom:65px;max-width:calc(100vw - 360px)}#interact{max-width:100%;white-space:normal}.dialog{overscroll-behavior:contain}#world{touch-action:none}
@media(max-width:700px){header{top:12px;left:12px;right:12px}.brand{font-size:12px;letter-spacing:1px}.brand .logo{width:38px;height:38px;font-size:29px}.brand small{font-size:8px;margin-top:4px}.topright{font-size:10px;letter-spacing:1px}#pause{width:36px;height:36px}.metrics{left:12px;right:12px;top:65px;transform:none;width:auto;padding:10px 3px}.metrics div{padding:0 9px}.metrics small{font-size:9px;letter-spacing:.6px}.metrics strong{font-size:17px}.mission{top:132px;left:12px;right:12px;width:auto;max-height:31vh;padding:12px 15px}.mission h2{font-size:15px;margin:5px 0}.mission p{display:none}.mission .eyebrow{display:none}.objectives{margin-top:7px}#objectiveCount{margin-top:6px}.objectives summary{font-size:13px}#survivalStatus{font-size:11px;padding-top:6px}.touch{left:12px;bottom:max(37px,env(safe-area-inset-bottom))}.lookControls{right:12px;bottom:max(37px,env(safe-area-inset-bottom))}.touch button,.lookControls button{width:44px;height:43px}#prompt{bottom:156px;max-width:calc(100vw - 24px);width:max-content}#interact{padding:10px 18px;font-size:13px}#eventPanel{bottom:210px;top:auto;right:12px;width:190px;padding:11px;max-height:120px;overflow:auto}#eventPanel .eyebrow{font-size:9px;letter-spacing:1px}#eventPanel h2{margin:6px 0;font-size:14px}#eventPanel p{font-size:12px;margin-bottom:4px}#eventTime{font-size:11px}#finish{bottom:12px;right:12px;font-size:11px;padding:6px 12px}.bottom{left:12px;bottom:12px}.bottom #inventory{font-size:11px;max-width:65vw}#welcome{top:20%;right:7%;max-height:75vh;overflow:auto;padding-bottom:20px}#welcome h1{font-size:46px}#welcome p{font-size:14px}.select{gap:8px}.select button{flex:1;padding:12px 10px;font-size:13px}.select small{font-size:11px}.primary{min-width:0;width:100%}.guide{font-size:11px}#toast{top:auto;bottom:185px;padding:10px 16px;width:max-content;font-size:12px}}
@media(max-height:500px) and (orientation:landscape){.metrics{top:12px;left:35%;right:80px;transform:none;width:auto;padding:8px}.metrics div{padding:0 10px}.metrics strong{font-size:15px}.metrics small{font-size:8px}.mission{top:82px;left:12px;width:230px;max-height:calc(100vh - 240px);padding:10px}.mission p,.mission .eyebrow,#survivalStatus{display:none}.mission h2{font-size:14px;margin:3px 0}#eventPanel{top:82px;bottom:auto;right:12px;max-height:105px;width:190px}#prompt{bottom:45px;max-width:40vw}.touch,.lookControls{bottom:32px}.controlLabel{display:none}.touch button,.lookControls button{height:36px;width:42px}#finish{bottom:12px}#welcome{top:19%;right:auto;left:6%;width:450px}#welcome h1{font-size:36px;margin:8px 0}#welcome p{display:none}.select{margin:10px 0}.primary{padding:13px}.guide{margin-top:7px}}

#gameWallet{position:fixed;top:96px;left:50%;transform:translateX(-50%);background:#292338eb;border:1px solid #f4cc8266;border-radius:20px;padding:8px 16px;color:#ffe3a8;font-size:12px;white-space:nowrap}.tillMode .dialog{width:min(680px,94vw);background:#f1f0f3;color:#262532;border:5px solid #373543}.tillMode .eyebrow{color:#d92849}.tillMode .dialog h2{font-size:26px}.tillMode .dialog p{color:#393646}.tillMode .dialog button{color:#292535;background:white;border-color:#ccc8d0}.tillMode .dialog button.payButton{background:#e52f45;color:white;border:0;text-align:center;font-weight:bold}.scanLane{display:flex;gap:12px;background:repeating-linear-gradient(90deg,#30313b 0,#30313b 9px,#393b45 10px,#393b45 11px);padding:22px 15px;border-radius:12px;border-bottom:5px solid #e43b51;overflow:auto}.scanLane .scanItem{min-width:130px;flex:1;min-height:120px;text-align:center;white-space:pre-line;line-height:1.8;background:#fff0f4!important;font-size:14px;border:2px solid #e67c97!important}.scanLane .scanItem.scanned{background:#dceee2!important;opacity:.7}.tillTotal{margin:18px 0;padding:18px;text-align:right;background:#213c35;color:#b5ffd7;font:700 21px monospace;border-radius:8px}.terminalLabel{display:block;font-size:15px;font-weight:bold}.terminalLabel input{display:block;width:100%;font:700 32px monospace;letter-spacing:4px;background:#e1efe6;color:#17382a;border:2px solid #777e7a;border-radius:8px;padding:18px;margin:10px 0}.terminalError{color:#b61934!important;font-size:14px!important}.tillMode .dialog button:disabled{opacity:.35}@media(max-width:700px){#gameWallet{top:117px;padding:5px 9px;font-size:10px}.mission{top:153px}.tillMode .dialog{padding:20px}.scanLane{padding:12px 8px;gap:8px}.scanLane .scanItem{min-width:100px;font-size:12px;min-height:110px}.terminalLabel input{font-size:26px}.tillTotal{font-size:17px}.tillMode .dialog h2{font-size:23px}}@media(max-height:500px) and (orientation:landscape){#gameWallet{top:65px;font-size:10px}.mission{top:94px}.tillMode .dialog{max-height:95vh}}

.metrics div{padding:0 13px}.metrics strong{font-size:19px}.dialog #modalText{white-space:pre-line}@media(max-width:1000px){.metrics{top:77px;width:calc(100% - 24px);left:12px;transform:none}.metrics div{padding:0 8px}.metrics strong{font-size:16px}}@media(max-width:700px){.metrics{top:62px;padding:9px 2px}.metrics div{padding:0 5px;flex:1}.metrics small{font-size:8px;letter-spacing:0}.metrics strong{font-size:13px}#gameWallet{top:119px;max-width:96vw;white-space:normal;text-align:center}.mission{top:155px}}@media(max-height:500px) and (orientation:landscape){.metrics{top:12px;left:33%;width:56%;padding:8px 2px}.metrics div{padding:0 5px}#gameWallet{top:64px}}

#leaderboardButton{background:#ffffff20;border:1px solid #ffffff40;color:white;border-radius:50%;height:38px;width:38px;font-size:18px}#saveStatus{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);color:#def3e8;background:#292338e8;border:1px solid #ffffff30;border-radius:20px;padding:7px 12px;font-size:11px;z-index:2}.resumeButton{display:block;margin-bottom:10px;background:#26856f}.saveNote{font-size:11px;line-height:1.5;max-width:380px;opacity:.7}.leaderboardTable{width:100%;border-collapse:collapse;font-size:14px;margin:15px 0 24px}.leaderboardTable th,.leaderboardTable td{text-align:left;padding:10px 6px;border-bottom:1px solid #fff3}.leaderboardTable th{font-size:12px;color:#ffc2d9}.nicknameInput{display:block;width:100%;font-size:16px;border:1px solid #fff5;border-radius:8px;padding:12px;margin:8px 0;background:#fff;color:#222}@media(max-width:700px){#saveStatus{bottom:4px;font-size:9px;padding:4px 8px;max-width:42vw}.bottom{bottom:23px}#finish{bottom:23px}.saveNote{font-size:10px}.topright{gap:7px}#leaderboardButton{width:30px;height:30px;font-size:15px}}

/* Keep expanded shift names and department choices readable on small screens. */
#day{max-width:190px;line-height:1.4}#modalText{white-space:pre-line}.dialog button{min-height:44px}.dialog{max-height:90dvh}#eventPanel{overflow:auto}#inventory{max-width:60vw;line-height:1.4}
@media(max-width:700px){#day{max-width:115px;font-size:10px;letter-spacing:.5px}.dialog{padding:20px}.dialog button{font-size:15px}.dialog p{font-size:16px}.bottom #inventory{font-size:12px;max-width:70vw}.select small{font-size:12px}.select{align-items:stretch}#eventPanel{max-height:125px}.mission #survivalStatus{font-size:12px;line-height:1.4}}

.productThumb{display:block;float:left;width:54px;height:76px;margin:0 12px 6px 0;border-radius:4px;background-repeat:no-repeat;box-shadow:0 2px 7px #0002}.scanItem{min-height:100px;overflow:hidden}
