*{box-sizing:border-box}body{margin:0;background:#061622;color:#edf5f7;font-family:Arial,sans-serif;background-image:radial-gradient(ellipse at 50% -20%,#154c63,transparent 65%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:1px solid #355263;background:#102d3d;border-radius:9px;padding:12px 18px;transition:background .2s,transform .15s}button:hover{background:#21485b}button:active{transform:translateY(2px)}button:focus-visible,a:focus-visible{outline:3px solid #edc77d;outline-offset:4px}header{max-width:1390px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #254254}.brand{display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:2px}.brand img{width:49px;height:60px;object-fit:contain}.brand small{display:block;font-size:10px;color:#91afbc;margin-top:7px;letter-spacing:2.1px}nav{display:flex;gap:8px}nav button{font-size:12px;padding:10px 13px}main{max-width:1340px;margin:0 auto;padding:34px 24px 24px}.eyebrow{color:#e5bc70;letter-spacing:2px;font-size:11px;font-weight:700}.heading{display:flex;justify-content:space-between;align-items:center;margin:8px 0 25px;gap:18px}h1{font-size:clamp(32px,4vw,52px);margin:0;letter-spacing:-2px}h1 span{color:#e7c180}p{color:#a9bfca;line-height:1.6;margin:10px 0}.mode{display:flex;background:#0c2433;border:1px solid #2b4555;border-radius:12px;padding:5px;gap:4px}.mode button{border:0;background:transparent;font-size:13px;white-space:nowrap}.mode button.active{color:#0c2332;background:#e9c57d;font-weight:bold}.stage{position:relative;border:1px solid #36566c;border-radius:14px 14px 0 0;overflow:hidden;background:#07334e;aspect-ratio:16/9;box-shadow:0 24px 80px #0005}canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.topHUD{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.badge{padding:10px 15px;background:#061b2cec;border:1px solid #45677a;border-radius:5px;font-family:monospace;font-size:12px;letter-spacing:1px;color:#edc880}.badge b{color:#fff;margin-left:14px;font-weight:400}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#041526a8;backdrop-filter:blur(3px);padding:18px}.welcomeCard,.questionCard{width:min(570px,95%);background:#071e2ff2;border:1px solid #4c7385;box-shadow:8px 8px 0 #04131eb0;padding:32px;border-radius:5px}.welcomeCard h2{font-size:clamp(24px,3vw,38px);line-height:1.1;letter-spacing:-.8px;margin:17px 0}.welcomeCard p{font-size:15px;max-width:450px}.primary{background:#e8c57e;color:#092337;border-color:#ffe2a6;font-weight:bold;box-shadow:0 4px 0 #8f723c}.primary:hover{background:#f5dba7}.welcomeCard .primary{margin:15px 0 20px;display:block;min-width:200px}.welcomeCard small{font-size:11px;color:#8caebd;line-height:1.7;display:block}.questionCard{width:min(660px,96%);padding:25px}.qmeta{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;color:#e7c483}.questionCard h2{margin:14px 0 7px;font-size:27px}.questionCard p{font-size:14px;line-height:1.45}#answers{display:grid;gap:9px;margin-top:18px}#answers button{text-align:left;font-size:14px;padding:14px 16px;background:#11394d;border-color:#33576b}#answers button.correct{background:#174c47;border-color:#5cd4b9}#answers button.wrong{background:#582e39;border-color:#e29193}#answers button:disabled{cursor:default;opacity:.6}#answers button.correct:disabled{opacity:1}#feedback{font-size:13px;color:#d5e5eb;line-height:1.5;margin-top:14px}#next{margin-top:12px;padding:10px 22px}.controlbar{display:flex;align-items:center;gap:14px;background:#0b2637;padding:18px;border:1px solid #36566c;border-top:0;border-radius:0 0 14px 14px}.dpad{display:flex;gap:7px}.dpad button{width:49px;height:44px;padding:0;font-size:20px;touch-action:none;user-select:none}.controlbar #hint{font-size:12px;color:#a6c2ce;flex:1}.reset{padding:8px 14px;font-size:25px}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 28px}.journey div{border-top:1px solid #355161;padding-top:16px;display:flex;align-items:center;gap:12px}.journey b{font-family:monospace;color:#d9b574;font-size:22px}.journey span{color:#c0d3dd;font-size:13px}footer{border-top:1px solid #203c4c;padding-top:15px}footer p,footer summary{font-size:11px;color:#8ca7b4}footer a{color:#bbdcea}.fourchecks{color:#6fdec3;font-size:35px;margin-top:20px}.textButton{background:none;border:0;padding:0;color:#bcd8e5;font-size:12px}.hidden{display:none!important}video{width:100%;border:1px solid #35566a;border-radius:12px;background:#061a29;aspect-ratio:16/9}.filmNote{padding:16px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#b5c9d3}.filmNote span{color:#8ca9b7}body.ar .questionCard,body.ar .welcomeCard{direction:rtl}body.ar #answers button{text-align:right}body.ar .heading p,body.ar footer{direction:rtl}body.ar .eyebrow{letter-spacing:0}body.ar h2{line-height:1.35}body.ar #hint{direction:rtl}
@media(max-width:700px){header{padding:14px 16px}.brand{gap:9px;font-size:10px;letter-spacing:.8px}.brand img{width:36px;height:43px}.brand small{font-size:8px;letter-spacing:.7px}nav button{padding:9px;font-size:11px}main{padding:24px 12px}.heading{display:block}.heading p{font-size:14px}.mode{margin-top:20px;width:100%}.mode button{flex:1}.stage{aspect-ratio:4/5}canvas{width:100%;height:100%;object-fit:cover;object-position:center}.topHUD{top:12px;left:10px;right:10px}.badge{font-size:9px;padding:8px}.badge b{margin-left:6px}.overlay{padding:8px}.welcomeCard,.questionCard{padding:22px;width:96%;max-height:96%;overflow:auto}.welcomeCard h2{font-size:29px}.welcomeCard p{font-size:14px}.questionCard h2{font-size:23px}.questionCard p{font-size:13px}#answers button{font-size:13px;padding:12px}.controlbar{flex-wrap:wrap;padding:13px;gap:10px}.controlbar #hint{order:4;flex-basis:100%;text-align:center}.controlbar .primary{margin-left:auto;font-size:12px;padding:12px}.dpad button{width:42px}.journey{grid-template-columns:1fr 1fr;gap:20px}.journey span{font-size:12px}.filmNote{display:block}.filmNote span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

#heroPortrait{width:96px;height:104px;float:right;margin:-8px -8px 8px 16px;image-rendering:pixelated}body.ar #heroPortrait{float:left;margin:-8px 16px 8px -8px}@media(max-width:700px){#heroPortrait{width:72px;height:78px}}

.gameToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#0c293a;border:1px solid #36566c;border-radius:12px 12px 0 0}.scoreboard{display:flex;gap:18px;font:14px monospace;color:#f3d18b}.scoreboard span{color:#a9c1cc}.audioControls{display:flex;align-items:center;gap:10px}.audioControls button{font-size:12px;padding:8px 12px}.audioControls input{width:85px;accent-color:#edc77d}.progressTrack{height:5px;background:#153748}#progressFill{height:100%;background:#70d8bb;transition:width .4s}.stage{border-radius:0 0 0 0}#pauseScreen{z-index:5}#pauseMessage{background:#092b40;padding:24px;border:1px solid #e5bc70;color:#fff;text-align:center;font-size:20px}#rating{letter-spacing:8px}#resultScore{color:#edc77d;font-weight:bold}@media(max-width:700px){.gameToolbar{flex-wrap:wrap;padding:10px}.scoreboard{font-size:12px;justify-content:space-between;width:100%}.audioControls{width:100%;justify-content:space-between}.audioControls input{flex:1;max-width:110px}.audioControls button{font-size:11px}}
.taskCard{width:min(650px,98%);max-height:98%;overflow:auto;padding:24px;background:#071e2ff7;border:1px solid #6994a5;border-radius:8px;box-shadow:8px 8px #031420}.taskCard h2{margin:10px 0;font-size:26px}.taskCard p{font-size:14px}.taskCard .qmeta{align-items:center}#taskClose{padding:2px 12px;font-size:24px}#taskAction{width:100%;margin-top:8px}#taskAction:disabled{opacity:.45;cursor:not-allowed}.lockerScene{display:flex;justify-content:center;align-items:center;gap:44px;padding:18px 10px;min-height:240px}.cabinet{position:relative;width:144px;height:210px;background:#07141e;border:6px solid #57849b;perspective:550px;flex-shrink:0;box-shadow:6px 6px #020f19}.cabinetInside{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px;padding:20px 5px;border-bottom:10px solid #305e73}.cabinetDoor{position:absolute;inset:0;background:linear-gradient(90deg,#225570,#36758e);border:3px solid #82afbf;transform-origin:left;transition:transform .45s;display:flex;flex-direction:column;align-items:center;padding:16px;color:#d6e4e7;backface-visibility:visible}.cabinetDoor span{font:20px monospace}.cabinetDoor i{width:60px;height:24px;margin:14px 0;background:repeating-linear-gradient(#0d3349 0 3px,transparent 3px 8px)}.cabinetDoor b{margin-top:28px;font-size:25px}.cabinet.open .cabinetDoor{transform:rotateY(-106deg)}.cabinet.locked .cabinetDoor b{color:#86f1c3}.inventory{display:grid;gap:9px;min-width:135px}.item{display:flex;align-items:center;gap:10px;padding:9px;touch-action:none;user-select:none}.item svg,.storedItem svg{width:32px;height:36px;color:#edce87;flex-shrink:0}.item.stowed{opacity:.4}.item:disabled{cursor:default}.storedItem svg{width:28px}.dropReady{outline:4px solid #7aefc4;outline-offset:5px}.dragGhost{position:fixed;z-index:100;pointer-events:none;transform:translate(-50%,-50%);background:#163d50;border:2px solid #f1ce81;padding:12px;display:flex;gap:8px;align-items:center;border-radius:8px}.dragGhost svg{width:32px;height:36px}.clearancePanel{display:flex;gap:26px;align-items:center;justify-content:center;margin:20px 0}.clearancePanel ul{padding:0;list-style:none;line-height:2.3;color:#9cd9c9}.doorPreview{width:100px;height:170px;background:#041521;border:6px solid #5b8396;overflow:hidden;position:relative;flex-shrink:0}.doorLeaf{position:absolute;inset:0;background:#2c657f;transition:transform .9s}.doorLeaf:before{content:'';position:absolute;inset:18px 15px 50px;border:3px solid #90c2d3;background:#173e53}.doorPreview.granted .doorLeaf{transform:translateX(100%)}.doorPreview span{position:absolute;bottom:8px;left:35%;color:#7eebba}.taskCard #taskStatus{color:#efcf8a;min-height:24px}body.ar .taskCard{direction:rtl}@media(max-width:700px){.taskCard{padding:14px}.taskCard h2{font-size:22px}.taskCard p{font-size:12px;line-height:1.45}.lockerScene{gap:24px;padding:10px 0;min-height:185px}.cabinet{width:108px;height:165px}.inventory{min-width:114px;gap:6px}.item{font-size:12px;padding:6px}.cabinetDoor{padding:8px}.cabinetDoor b{margin-top:12px}.clearancePanel{gap:14px}.clearancePanel ul{font-size:12px}.storedItem svg{width:21px}.taskCard .primary{padding:10px}}@media(prefers-reduced-motion:reduce){.cabinetDoor,.doorLeaf{transition:none}}
/* Pixel-style object interaction panel */
.taskCard{border:4px solid #6e9cae;border-radius:0;background:#09283b;box-shadow:0 0 0 4px #041724,10px 10px 0 #020d16}.taskCard h2{color:#f2d08b}.taskCard button{border-radius:0;border-width:2px}.taskCard .qmeta{border-bottom:2px solid #31536a;padding-bottom:8px}.lockerScene{padding:14px 28px;gap:50px;background:repeating-linear-gradient(0deg,#0a2132 0 31px,#173649 31px 33px);border:3px solid #355e73}.cabinet{width:168px;height:240px;border:6px solid #7fa1b0;box-shadow:6px 6px #020f19}.cabinetInside{display:grid;grid-template-rows:repeat(3,1fr);padding:5px 10px;gap:0;border-bottom:0}.lockerSlot{display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:5px solid #50798e;color:#7191a3}.lockerSlot span{opacity:.17;transition:opacity .2s}.lockerSlot.filled span{opacity:1}.lockerSlot small{font-size:10px;opacity:.55}.lockerSlot.filled small{color:#9fe7ce;opacity:1}.lockerSlot svg{width:30px;height:38px;color:#f5d189;shape-rendering:crispEdges}.cabinetDoor{background:#2e6079;border:4px solid #94b7c5;box-shadow:inset 5px 0 #3f7991,inset -5px 0 #183d55;transition:transform .55s ease-in-out}.cabinetDoor:after{content:'';position:absolute;right:9px;top:48%;width:7px;height:30px;background:#d7b978;box-shadow:3px 3px #132e40}.cabinet.open .cabinetDoor{transform:rotateY(-112deg)}.lockSeal{width:46px;height:46px;background:#0a302e;border:3px solid #70e1b5;display:grid;place-items:center;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s;box-shadow:3px 3px #031b1a}.lockSeal svg{width:32px;height:32px;fill:#83f2bf;shape-rendering:crispEdges}.cabinet.locked .lockSeal{opacity:1;transform:scale(1)}.item{background:#143e53;border-color:#65879a;box-shadow:3px 3px #041724}.item svg{shape-rendering:crispEdges}.item.stowed{visibility:hidden}.inventory{min-width:135px}.transferSprite{position:fixed;width:40px;height:44px;z-index:110;pointer-events:none;color:#f5d189;filter:drop-shadow(3px 3px #031722)}.transferSprite svg{width:100%;height:100%;shape-rendering:crispEdges}.doorPreview{width:148px;height:215px;border:7px solid #789cac;box-shadow:5px 5px #041523}.doorLeaf{background:#2b647d;box-shadow:inset 5px 0 #407d94;transition:transform .8s ease-in-out}.doorPreview span{bottom:7px;background:#092f3b;border:2px solid #77bda8;padding:2px 8px;font:20px monospace}.clearancePanel{padding:16px;background:#0a2132;border:3px solid #355e73}.clearancePanel li{border-bottom:1px solid #315468;padding:4px 0}.dragGhost{border-radius:0;border-width:3px}.taskCard #taskStatus{padding:8px 10px;background:#051d2c;border-left:3px solid #e7c47c;font-size:13px}@media(max-width:700px){.lockerScene{gap:32px;padding:10px 12px}.cabinet{width:125px;height:200px}.inventory{min-width:98px}.item{gap:5px;font-size:11px}.item svg{width:26px}.lockerSlot small{display:none}.cabinetDoor b{margin-top:16px}.taskCard{padding:10px}.taskCard h2{font-size:20px}.taskCard #taskStatus{font-size:11px;padding:6px}.clearancePanel{padding:10px}.doorPreview{width:110px;height:180px}.lockSeal{width:40px;height:40px}.lockSeal svg{width:28px;height:28px}}

.cabinet.open .cabinetDoor>span{visibility:hidden}
.missionCard{margin:20px auto;padding:24px;max-width:370px;background:#d5e6d9;border:5px solid #588392;box-shadow:7px 7px #031a28;color:#0a3045;text-align:center}.missionCard span{font:11px monospace;letter-spacing:2px}.missionCard strong{display:block;margin:18px 0;font: bold 22px monospace}.missionCard div{background:#143b50;color:#f4d48f;padding:14px}.missionCard p{color:#17485a}.cartScene{height:180px;position:relative;border:3px solid #527789;background:repeating-linear-gradient(0deg,#153d51 0 29px,#255468 29px 32px);overflow:hidden}.pixelCart{position:absolute;left:20%;bottom:30px;width:100px;height:12px;background:#9cbbc5;border:4px solid #d7e3e2;box-shadow:0 5px #092237}.pixelCart:before,.pixelCart:after{content:'';position:absolute;width:16px;height:16px;background:#041a2b;border:3px solid #90a9b3;bottom:-23px}.pixelCart:before{left:4px}.pixelCart:after{right:4px}.cylinder{position:absolute;bottom:8px;left:32px;width:36px;height:92px;background:#70918c;border:4px solid #c6d1bf;box-shadow:inset -7px 0 #365d5c}.cylinder:before{content:'';position:absolute;width:20px;height:10px;left:4px;top:-14px;background:#d9ba6d}.cylinder span{display:block;margin-top:24px;font:bold 16px monospace;color:white;text-align:center}.stopLine{position:absolute;left:58%;top:20px;bottom:8px;border-left:6px dashed #e6bb70;color:#f4d285;padding:15px 8px;font:bold 14px monospace}.cartDoor{position:absolute;right:4%;top:12px;bottom:0;width:20%;background:#173447;border:5px solid #6a91a4;text-align:center;padding-top:22px;font:bold 18px monospace}.stopped .pixelCart{box-shadow:0 5px #092237,-12px 15px #e8bb72}.stepChips{display:flex;gap:8px;margin:12px 0}.stepChips span{flex:1;padding:8px;background:#153e50;font-size:12px}.patientScene{height:210px;background:#153d50;border:3px solid #65889b;position:relative}.patientBed{position:absolute;left:14%;right:12%;height:32px;top:130px;background:#7ba4b7;border:5px solid #bdd5d9;box-shadow:0 12px #082438}.patientBed:after{content:'';position:absolute;left:45%;width:30px;height:40px;top:27px;background:#a6c7cb}.patientHead{position:absolute;left:20%;top:87px;width:42px;height:42px;background:#d1a37c;border:4px solid #6b5547}.patientBody{position:absolute;left:calc(20% + 42px);right:20%;top:98px;height:32px;background:#7aa5a0;border:4px solid #b4ccbf}.prepTarget{position:absolute;border:2px dashed #edcd86;font-size:12px;padding:8px;min-width:70px;background:#092a3d}.prepTarget.ear{left:14%;top:36px}.prepTarget.hand{left:47%;top:57px}.prepTarget.done{background:#135245;border-color:#7ae4b8;color:#b5f5d4}.prepItems{display:flex;gap:10px;margin:12px 0}.prepItems button{flex:1;font-size:13px}.prepItems .selected{outline:3px solid #eccc80;background:#245667}.prepItems button:disabled{opacity:.5}@media(max-width:700px){.patientScene{height:185px}.patientBed{top:120px}.patientHead{top:77px}.patientBody{top:88px}.prepTarget{font-size:10px;padding:7px;min-width:55px}.cartScene{height:160px}.missionCard{padding:15px;margin:10px auto}.prepItems button{font-size:11px;padding:9px}}
.prepItems button{touch-action:none}.patientHead:before{content:'';position:absolute;left:-3px;right:10px;top:-4px;height:12px;background:#4b3b32;box-shadow:-3px 8px #4b3b32}.patientHead:after{content:'';position:absolute;right:6px;top:16px;width:5px;height:4px;background:#3c342f}.patientBody:before{content:'';position:absolute;left:12px;top:4px;width:44%;height:9px;background:#c99f7e;border:3px solid #718e8c}.hasHearing .patientHead{box-shadow:-6px 0 #e4bc65,inset 6px 0 #e4bc65}.hasCall .patientBody:after{content:'';position:absolute;left:45%;top:3px;width:12px;height:14px;background:#ebce8a;border:3px solid #314c58}

.controlbar #jump{flex:0 0 52px;width:52px;height:48px;padding:0;font-size:26px;color:#f4d18b;border:2px solid #638496;background:#153d52;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.controlbar #jump:active{background:#2d5a70}@media(max-width:700px){.controlbar{gap:8px}.controlbar #jump{margin-left:auto;flex-basis:48px;width:48px;height:48px}.controlbar .primary{margin-left:0}.controlbar .reset{padding:8px 10px}.dpad{gap:6px}}@media(max-width:360px){.controlbar{padding:10px;gap:6px}.dpad button{width:36px}.controlbar #jump{width:44px;flex-basis:44px}.controlbar .primary{padding:12px 8px}.controlbar .reset{padding:8px}}
/* Illustrated missions: shared hospital palette and generous touch targets. */
.equipmentStage,.patientStage{position:relative;direction:ltr;overflow:hidden;border:3px solid #3d6d82;background:linear-gradient(#12344b 0 72%,#234d61 72%);box-shadow:inset 0 0 0 4px #092536;margin:16px 0}.equipmentStage{height:270px}.zoneCaption{position:absolute;top:12px;left:14px;color:#bad6dd;font:11px monospace;letter-spacing:2px;z-index:2}.holdBay{position:absolute;left:5%;bottom:17px;width:31%;height:56px;border:3px dashed #d9b96d;background:#dfbe7020}.holdBay span{position:absolute;bottom:5px;left:0;width:100%;text-align:center;font:bold 12px monospace;color:#f0cf84}.holdBay.occupied{border-color:#72d5b4;background:#72d5b421}.restrictedGate{position:absolute;right:5%;top:48px;bottom:18px;width:24%;background:#0a2032;border:8px solid #375d70;display:flex;align-items:center;flex-direction:column;gap:20px;padding-top:16px;color:#bdd8e2}.restrictedGate span{background:#df9a6d;color:#132c3a;padding:7px 12px;font:bold 13px monospace}.restrictedGate i{position:absolute;left:-20px;top:0;bottom:-18px;width:8px;background:repeating-linear-gradient(#ebc779 0 12px,#16394a 12px 24px)}.trolleySprite{position:absolute!important;left:39%;bottom:49px;width:25%;height:178px;border:0!important;background:none!important;padding:0!important;box-shadow:none!important;touch-action:none;cursor:grab;transition:left .35s}.trolleySprite img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.trolleySprite span{position:absolute;top:17px;left:-26px;background:#e6c47c;color:#102c3a;font:bold 10px monospace;padding:5px;white-space:nowrap}.trolleySprite.parked{left:8%;opacity:1!important}.trolleySprite.parked span{background:#83d7b5}.missionSteps{display:flex;gap:6px;margin:12px 0}.missionSteps span{flex:1;border-bottom:3px solid #335467;padding:9px 4px;color:#a0bbc7;font-size:12px}.missionSteps .active{color:#eed08c;border-color:#eed08c}.missionSteps .complete{color:#89dfbc;border-color:#89dfbc}.staffReply{border-inline-start:4px solid #80d9ba;background:#123d42;padding:13px 16px}.staffReply b{color:#8de0bf;font:12px monospace;letter-spacing:2px}.staffReply p{margin:6px 0;line-height:1.6;font-size:14px}.patientStage{aspect-ratio:1.9;min-height:170px}.patientArtwork{position:absolute;left:3%;width:94%;bottom:4%;image-rendering:pixelated}.patientTarget{position:absolute!important;z-index:3;transform:translate(-50%,-50%);width:48px;height:48px;min-height:0!important;padding:4px!important;border:2px dashed #f0cf82!important;border-radius:50%!important;background:#173d51dc!important;color:#ffe09a!important;font:bold 19px monospace;box-shadow:0 0 0 5px #e3bb6620!important}.patientTarget.hearing{left:16%;top:37%}.patientTarget.call{left:56%;top:51%}.patientTarget.fitted{border-color:transparent!important;background:transparent!important;box-shadow:none!important}.patientTarget.fitted svg{width:100%;height:100%;filter:drop-shadow(2px 2px #062235)}.patientTarget.tested{background:#6bd6aa33!important}.patientTarget.dropReady{background:#5b987d!important;outline:4px solid #8be9bf}.prepItems{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}.prepItems button{display:flex;align-items:center;flex-direction:column;gap:4px;padding:10px!important;touch-action:none;min-width:0}.prepItems svg{width:40px;height:40px;flex-shrink:0}.prepItems small{font-size:11px;color:#afccd6}.prepItems button:disabled{opacity:.65}.prepItems button.selected{border-color:#f4d287;background:#32576b}.testCall{width:100%;padding:13px!important;margin-top:4px;border:2px solid #edc77a!important;background:#25495c!important;color:#ffe3a4!important}.testCall.complete{border-color:#7dd8b3!important;color:#96e7c5!important}.prepGhost{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);width:56px;height:56px;background:#173d51d9;border:2px solid #edc77a;border-radius:8px}.prepGhost svg{width:100%;height:100%}@media(max-width:500px){.equipmentStage{height:230px}.trolleySprite{height:150px}.patientTarget{width:42px;height:42px}.missionSteps span{font-size:11px}.zoneCaption{font-size:9px;letter-spacing:1px}.prepItems button{font-size:12px}.taskCard{padding:18px!important}.restrictedGate{border-width:5px}.restrictedGate span{padding:5px;font-size:11px}}
.patientStage{width:100%;min-height:0;box-sizing:border-box}.taskContent{min-width:0}.taskCard{overflow-x:hidden}.equipmentStage{box-sizing:border-box;width:100%}@media(max-width:500px){.patientStage{aspect-ratio:1.7}.patientTarget.hearing{top:43%}.patientTarget.call{top:56%}}
.coach{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px;background:#123c4b;border-top:1px solid #4e8391;color:#e8d39f;font-size:13px;line-height:1.5}.coach button{border:0;padding:4px 12px;background:transparent;color:#b8d4d9;font-size:21px}.coach.hidden{display:none}.holdBay.dropReady{border-color:#8ff1bd;background:#87e5b44d;box-shadow:0 0 0 4px #82d9b326}.unsafeChoice{display:block;width:100%;border:1px solid #a5765f!important;color:#e8b397!important;background:#412c2b!important;font-size:13px;margin-top:12px;padding:12px}.unsafeChoice:disabled{opacity:.45}.welcomeCard:has(#debrief){max-height:96%;overflow-y:auto}.explorationBadge{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:center;border:2px solid #9c8046;background:#183a4b;padding:12px;margin:12px 0;text-align:center}.explorationBadge b{font-size:26px;letter-spacing:3px;color:#f4cf7e}.explorationBadge small{grid-column:1/-1;color:#bad2da}.resultRows{text-align:start}.resultRows>div{padding:10px 0;border-bottom:1px solid #355564}.resultRows strong{display:flex;justify-content:space-between;gap:12px;font-size:14px}.resultRows strong span{color:#86dcb9;white-space:nowrap}.resultRows small{display:block!important;margin:5px 0!important;font-size:12px;color:#bad2da;line-height:1.5}.resultRule{font-size:12px!important;line-height:1.5!important}#rating{font:bold 20px monospace;color:#8ee2c0}#saveNotice{display:block;font-size:11px;line-height:1.5;color:#a9c8d3;margin:10px 0}#resumeGame{margin-inline-start:8px}#resumeGame.hidden{display:none}button:focus-visible{outline:3px solid #fff1ba;outline-offset:3px}.taskCard,.questionCard{overscroll-behavior:contain}#debrief:empty{display:none}@media(max-width:500px){.coach{padding:8px 10px;font-size:11px}.audioControls{gap:5px!important}#help{padding:7px 10px!important}#resumeGame{margin:8px 0 0}.explorationBadge{grid-template-columns:1fr}.explorationBadge small{grid-column:auto}.resultRows strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.sceneDock{border:2px solid #638897;background:#0c2b3a;padding:12px 16px;color:#e5eff1}.sceneDock.hidden{display:none}.sceneHeading{display:flex;align-items:center;gap:10px}.sceneHeading strong{flex:1;font-size:12px;color:#eacb85}.sceneHeading button{font-size:11px;padding:8px;min-height:44px}.sceneInventory{display:flex;gap:8px;margin:10px 0}.sceneInventory button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:52px;touch-action:none;user-select:none;-webkit-user-select:none}.sceneInventory svg{width:28px;height:28px}.sceneInventory button:disabled{opacity:.45}.sceneInventory b{color:#8ee8be}.sceneFooter{display:flex;gap:12px;align-items:center;justify-content:space-between}.sceneFooter span{flex:1;color:#b8d3db;font-size:12px;line-height:1.5}.sceneFooter button{min-height:48px;font-size:13px;flex-shrink:0}.sceneClearance{font-size:12px;color:#95d3bd;margin:12px 0;line-height:1.7}.sceneDock.dropReady{border-color:#8ff1bd;box-shadow:inset 0 0 0 2px #8ff1bd}#game{touch-action:pan-y}#jump,#interact,.prepItems button,.trolleySprite{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.controlbar{padding-bottom:max(12px,env(safe-area-inset-bottom))}button{touch-action:manipulation}.sceneInventory button,.dpad button,#jump{touch-action:none}@media(max-width:500px){.sceneDock{padding:10px}.sceneHeading{gap:6px}.sceneHeading strong{font-size:10px;line-height:1.5}.sceneInventory button{font-size:11px;padding:8px 4px;gap:4px}.sceneInventory svg{width:24px;height:24px}.sceneFooter{align-items:flex-start}.sceneFooter span{font-size:11px}.sceneFooter button{max-width:48%;font-size:12px}.patientTarget{min-width:44px;min-height:44px!important}}
.sceneDock,.controlbar{-webkit-user-select:none;user-select:none}.sceneFooter .primary:disabled{opacity:.5;box-shadow:none}
#patientTargets{position:absolute;inset:0;pointer-events:none}#patientTargets.hidden{display:none}.patientWorldTarget{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;min-width:44px;padding:4px;border:2px dashed #f8d57b;background:#123b4ed9;border-radius:50%;color:#ffe9af;font:bold 18px monospace;touch-action:none}.patientWorldTarget svg{width:100%;height:100%}.patientWorldTarget.fitted{background:#0d354a55;border-color:#85ddba}.patientWorldTarget.dropReady{background:#528c70;outline:4px solid #87e3b9}.sceneInventory button.selected{outline:3px solid #ebcf8c}.staffDialogue{border-inline-start:4px solid #70cbb6;padding:12px;background:#173d48;margin:8px 0 12px}.staffDialogue b{font:11px monospace;color:#a0e2ca}.staffDialogue p{font-size:13px;margin:5px 0}.staffDialogue>div{display:flex;gap:8px}.staffDialogue button{flex:1;font-size:12px;min-height:48px;padding:10px}.staffDialogue button:disabled{opacity:.5}#endingArt{height:auto!important;aspect-ratio:3;width:100%;margin:10px 0;border:1px solid #3b6576}.bonusPanel{position:fixed;inset:0;z-index:1000;background:#031721f5;overflow:auto;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));overscroll-behavior:contain;display:grid;place-items:center}.bonusPanel.hidden{display:none}.bonusShell{width:min(650px,100%);background:#0c293a;border:2px solid #466c7b;padding:14px}.bonusShell h2{font:18px monospace;color:#e9c97d;flex:1}.bonusShell p{font-size:12px;line-height:1.5}#bonusCanvas{width:100%;height:auto;max-height:60dvh;object-fit:contain;touch-action:none;background:#082333}.bonusControls{display:flex;gap:10px;justify-content:center}.bonusControls button{min-width:56px;min-height:52px;touch-action:none;user-select:none}.bonusControls #bonusJump{margin-inline-start:auto}#bonusWelcome,#bonusFinish{font-size:12px;border-color:#759b9f;color:#b5e0d5;margin:8px 0}@media(max-width:500px){.staffDialogue>div{flex-direction:column}.staffDialogue p{font-size:12px}.staffDialogue button{font-size:11px}.patientWorldTarget{width:44px;height:44px}.sceneInventory button span{line-height:1.4}.bonusShell{padding:10px}.bonusShell h2{font-size:14px}}

/* Focused mission layout: one interaction surface, optional exploration. */
#bonusWelcome,#sceneDetails{display:none}
body.playing .heading,body.playing main>.eyebrow{display:none}
body.playing main{padding-top:14px}
.sceneHeading strong{font-size:14px}.sceneFooter{gap:12px}
@media(max-width:700px){body.playing header{padding:10px 16px}body.playing .gameToolbar{padding:10px}.sceneDock{padding:12px}.sceneInventory button{min-height:64px}.sceneHeading{margin-bottom:8px}.staffDialogue{padding:10px}.controlbar{gap:8px}.controlbar button{min-height:48px}.sceneFooter .primary{min-height:48px}.sceneHeading strong{font-size:12px}}

@media(max-width:700px){body.playing .stage{height:clamp(300px,43svh,390px);aspect-ratio:auto}body.playing #game{height:100%;width:100%}}
/* Mission sheets use the viewport, rather than clipping inside the game canvas. */
#sound,#lang{display:none!important}
#welcome,#question,#task,#finish{position:fixed;inset:0;z-index:100;background:#031622e8;padding:18px;overflow-y:auto;align-items:start;justify-items:center;backdrop-filter:blur(5px)}
#welcome.hidden,#question.hidden,#task.hidden,#finish.hidden{display:none!important}
#welcome>.welcomeCard,#question>.questionCard,#task>.taskCard,#finish>.welcomeCard{margin:auto;width:min(620px,100%);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e4c57e #173848;border:1px solid #5c8997;border-radius:16px;box-shadow:0 16px 70px #0008;padding:24px;scroll-padding:65px}
.welcomeCard:has(#debrief){max-height:none}
#welcome h2,#finish h2{font-size:30px;margin:12px 0}
#finish .eyebrow{color:#88dfb9}#finish #rating{letter-spacing:2px;font-size:24px;margin:12px 0}#finish #resultScore{margin:6px 0}
#finish #endingArt{border:0;border-radius:12px;margin:8px 0;max-height:160px;object-fit:contain}
#finish #replay,#taskAction,#next{position:sticky;bottom:0;z-index:4;box-shadow:0 4px 0 #8f723c,0 -10px 20px #092538;width:100%;margin-bottom:5px;min-height:48px}
#welcome>.welcomeCard:before,#question>.questionCard:before,#task>.taskCard:before,#finish>.welcomeCard:before{content:'SCROLL ↓  ·  More details below';display:block;position:sticky;top:-24px;z-index:5;background:#123849;color:#d9c58c;font-size:10px;letter-spacing:1px;text-align:center;padding:9px;margin:-24px -24px 18px;border-bottom:1px solid #315a6c}
.task-active .controlbar,.mission-complete .controlbar{display:none}
.lockerProgress{font:12px monospace;color:#9be8c6;margin-top:12px;background:#153e49;padding:8px 12px;border-radius:6px}
.lockerInventory button{flex-direction:column;gap:6px;min-height:100px;background:#173e51;border:1px solid #668493;box-shadow:0 3px #041c29}
.lockerInventory button small{font-size:10px;color:#e8c985}.lockerInventory button.secured{opacity:1;background:#123f3c;border-color:#78bca3;box-shadow:none}.lockerInventory button.secured svg{color:#8ddbbd}.lockerInventory b{font-size:10px}
.sceneFooter{padding-top:6px}.sceneFooter .primary{min-width:130px}.sceneHeading strong{letter-spacing:.5px}
.patientWorldTarget.fitted{opacity:0;border:0;background:transparent;box-shadow:none}
#bonusClose{white-space:nowrap;min-width:80px;color:#f5d68f}.bonusShell{border-radius:16px;border-color:#658997}.bonusControls{position:sticky;bottom:0;background:#0c293a;padding:10px 0}.bonusShell .sceneHeading{position:sticky;top:0;background:#0c293a;z-index:2}
@media(max-width:700px){#welcome,#question,#task,#finish{padding:12px}#welcome>.welcomeCard,#question>.questionCard,#task>.taskCard,#finish>.welcomeCard{max-height:calc(100dvh - 24px);padding:20px!important}#welcome>.welcomeCard:before,#question>.questionCard:before,#task>.taskCard:before,#finish>.welcomeCard:before{top:-20px;margin:-20px -20px 14px}#welcome h2,#finish h2{font-size:26px}#finish .resultRows>div{padding:8px 0}.sceneFooter{flex-direction:column;align-items:stretch}.sceneFooter button{max-width:none;width:100%}.lockerInventory button{min-height:90px}.sceneHeading strong{font-size:11px}.equipmentStage{height:190px}.trolleySprite{height:140px}.bonusPanel{align-items:start}.bonusShell{margin:auto}#bonusCanvas{max-height:53dvh}.welcomeCard p{font-size:13px}}

#taskScroll{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:50;background:#efd08a;color:#092b3a;border:2px solid #fff1bd;box-shadow:0 3px 18px #0008;font-size:12px;font-weight:bold;white-space:nowrap}body:has(#taskScroll:not(.hidden)) .sceneDock{padding-bottom:68px}
/* The active scene and its actions share one screen: no floating scroll button. */
#taskScroll{display:none!important}
body:has(#taskScroll:not(.hidden)) .sceneDock{padding-bottom:12px}
body.scene-task #gameArea{position:fixed;inset:0;z-index:80;background:#071f2e;display:flex;flex-direction:column;overflow-y:auto;padding:10px;gap:0}
body.scene-task .gameToolbar,body.scene-task .coach,body.scene-task .progressTrack{display:none!important}
body.scene-task #gameArea .stage{flex:1 1 auto;min-height:180px;height:auto;max-height:55dvh;aspect-ratio:auto}
body.scene-task #gameArea #game{height:100%;width:100%}
body.scene-task .sceneDock{flex:0 0 auto;padding:12px;border-radius:0 0 12px 12px}
body.scene-task .sceneInventory{margin:8px 0}.scene-task .sceneInventory button{min-height:60px}.scene-task .sceneHeading{margin:0}.scene-task .sceneFooter{gap:6px}.scene-task .sceneFooter span{font-size:12px}.scene-task .sceneFooter button{min-height:44px}.scene-task .lockerProgress{margin-top:6px;padding:6px 10px}
#task.equipment-task>.taskCard{padding:18px!important;width:min(520px,100%)}
#task.equipment-task>.taskCard:before{display:none}
#task.equipment-task h2{font-size:23px;margin:10px 0 6px}#task.equipment-task #taskHelp{font-size:13px;margin:5px 0 8px;line-height:1.4}
#task.equipment-task .equipmentStage{height:170px;margin:8px 0}.equipment-task .trolleySprite{height:118px;bottom:30px}.equipment-task .holdBay{height:37px;bottom:8px}.equipment-task .restrictedGate{top:32px;gap:10px;bottom:8px}.equipment-task .zoneCaption{top:8px}
.equipment-task .missionSteps{margin:6px 0}.equipment-task .missionSteps span{padding:5px;font-size:11px}.equipment-task .staffReply{padding:8px}.equipment-task .staffReply p{font-size:12px;margin:4px 0}.equipment-task .unsafeChoice{padding:8px;font-size:11px;margin:6px 0}.equipment-task #taskStatus{margin:6px 0;font-size:11px}.equipment-task #taskAction{margin:3px 0;min-height:44px;position:sticky;bottom:0}
.helpPanel{position:fixed;inset:0;z-index:1200;background:#031622ed;display:grid;place-items:center;padding:18px}.helpCard{width:min(460px,100%);padding:24px;background:#0e3043;border:1px solid #638a9c;border-radius:16px;max-height:90dvh;overflow:auto}.helpCard h2{margin:0;color:#eacb86}.helpCard p,.helpCard li{font-size:14px;line-height:1.6}.helpCard ul{padding-left:20px;color:#c4dce4}.helpCard li{margin:12px 0}.helpCard button{width:100%;min-height:48px}
@media(max-height:650px){body.scene-task #gameArea .stage{min-height:140px}.scene-task .sceneInventory button{min-height:48px}.scene-task .sceneHeading button{min-height:32px}.equipment-task .equipmentStage{height:135px!important}.equipment-task .trolleySprite{height:95px}.equipment-task .taskCard{max-height:calc(100dvh - 16px)!important}.equipment-task .qmeta{padding-bottom:4px}}

.bonusShell{position:relative}.bonusResult{position:absolute;inset:0;z-index:5;background:#031721ee;border-radius:14px;display:grid;place-items:center;padding:24px;text-align:center}.bonusResult.hidden{display:none}.bonusResult>div{width:min(360px,100%);padding:24px 18px;background:#103447;border:2px solid #80cfb6;border-radius:14px}.bonusResultStars{font-size:36px;letter-spacing:8px;color:#f5d079}.bonusResult h2{font-size:24px}.bonusResult button{display:block;width:100%;min-height:52px;margin-top:14px}.route-finished .bonusControls{visibility:hidden}

#interact:disabled{background:#183744!important;color:#8299a3!important;border-color:#375462!important;box-shadow:none!important;opacity:1;cursor:not-allowed;transform:none}#interact.checkpoint-ready:enabled{background:#e9c77f;color:#082333;border-color:#ffe5ab}

#jump,#bonusJump{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 10px}.jumpIcon{width:30px;height:30px;display:block}.jumpLabel{font:600 10px/1 sans-serif;letter-spacing:.3px}[data-patient-item]{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}[data-patient-item]:active{cursor:grabbing}.prepGhost{pointer-events:none;z-index:2000}

/* Keep world pixels square at every viewport; compact tasks remain beside the scene in landscape. */
body.scene-task #gameArea{align-items:center;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}
body.scene-task #gameArea .stage{width:100%;max-width:calc(55dvh * 16 / 9);flex:0 0 auto;height:min(55dvh,calc((100vw - 20px) * 1.5));min-height:0}
body.scene-task .sceneDock{width:100%;max-width:calc(55dvh * 16 / 9);min-width:0}
.sceneInventory button{min-width:0}.sceneFooter span{min-width:0}.topHUD{gap:6px}
@media(orientation:landscape) and (max-height:500px){
 body.scene-task #gameArea{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,34%);align-items:center;gap:8px}
 body.scene-task #gameArea .stage{width:100%;height:min(calc(100dvh - 24px),calc((66vw - 32px) * 1.5));max-height:none;max-width:none}
 body.scene-task .sceneDock{width:100%;max-width:none;max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:12px;padding:10px}
 body.scene-task .sceneFooter{flex-direction:column;align-items:stretch}
 body.scene-task .sceneFooter button{max-width:none;width:100%}
 body.scene-task .sceneInventory button{flex-direction:column;font-size:11px;padding:6px;gap:4px}
}
