.room-header{position:fixed;top:max(20px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:14;text-align:center;color:#fff3d4;padding:10px 20px 12px;background:#203c32e6;border:1px solid #e5d4a566;border-radius:18px;box-shadow:0 4px 24px #18322b26;max-width:calc(100% - 360px)}
.room-header[hidden],.room-prompt[hidden]{display:none}.room-header .eyebrow{font-size:12px;letter-spacing:.14em;color:#dbdfc5}.room-header h2{font-size:20px;line-height:1.3;margin:3px 0 6px}.room-header button{border:0;background:transparent;color:#f4dfa8;padding:5px 12px;font:inherit;font-size:14px;cursor:pointer;min-height:34px}
.room-prompt{position:fixed;transform:translate(-50%,-100%);z-index:15;padding:10px 16px;display:flex;align-items:center;gap:10px;border:1px solid #ded7b08c;border-radius:16px;background:#213c32ed;color:#fff5d9;font:inherit;font-size:14px;box-shadow:0 4px 15px #182f2c30;cursor:pointer;min-height:44px;max-width:calc(100vw - 36px);text-align:left;touch-action:manipulation}
.room-prompt kbd{display:grid;place-items:center;width:25px;height:25px;border:1px solid #d5ceac66;border-radius:6px;font:inherit;font-size:12px;color:#e3e7c9;flex-shrink:0}.room-prompt:focus-visible,.room-header button:focus-visible{outline:3px solid #f9e3a5;outline-offset:3px}
.room-fade{position:fixed;inset:0;pointer-events:none;background:#24392f;z-index:45;opacity:0}.room-fade.crossing{animation:room-crossing .5s ease-out both}@keyframes room-crossing{0%{opacity:1}100%{opacity:0}}
.inside-room #marker,.inside-room #npcLabel,.inside-room #gardenMarker,.inside-room .controls-hint,.inside-room #heroThought{display:none!important}.inside-room #areaKind,.inside-room #areaName,.inside-room #areaText{visibility:hidden}
.in-garden #roomHeader,.in-garden #roomPrompt{visibility:hidden!important;pointer-events:none!important}
@media(pointer:coarse){.room-prompt kbd{display:none}}
@media(max-width:700px){.room-header{top:max(76px,env(safe-area-inset-top));max-width:calc(100% - 36px);min-width:210px;padding:8px 16px}.room-header h2{font-size:17px}.room-header .eyebrow{font-size:12px}.room-prompt{font-size:14px}.room-prompt.at-edge{top:30%!important}}
@media(max-height:540px) and (min-width:700px){.room-header{top:12px;padding:6px 15px}.room-header .eyebrow{display:none}.room-header h2{font-size:16px;margin:0}.room-header button{padding:2px 12px}}
@media(prefers-reduced-motion:reduce){.room-fade.crossing{animation:none}}
