@font-face{font-family:LocalUI;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#d8d8d0;color:#253a35;font-family:LocalUI,Arial,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible{outline:3px solid #bf914c;outline-offset:4px}button:disabled{cursor:wait;opacity:.65}#viewport{position:fixed;inset:0;touch-action:none;outline:0}#viewport canvas{display:block;width:100%;height:100%}header{position:fixed;inset:26px 30px auto;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:4}.brand,.tools{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;background:#f6f5ede8;padding:12px 18px;border-radius:14px;box-shadow:0 3px 18px #20322b12}.brand-icon{display:grid;place-items:center;width:37px;height:37px;border:1px solid #6c8174;border-radius:50%;font-size:13px;letter-spacing:1px}.brand strong{font-size:18px;letter-spacing:4px}.brand div>span{display:block;font-size:8px;letter-spacing:1.9px;margin-top:4px}.tools{display:flex;gap:8px}.tools button{background:#f6f5ede8;padding:12px 16px;border:1px solid #ffffff9c;border-radius:30px;font-size:12px}.tools kbd{font-size:10px;margin-left:7px;opacity:.6}kbd{font-family:inherit;display:inline-block;border:1px solid #7c898445;padding:3px 5px;border-radius:4px;font-size:11px}#map-panel{position:fixed;right:30px;top:111px;width:253px;background:#f9f8f0ed;border-radius:16px;padding:17px;box-shadow:0 6px 30px #20322b12;z-index:3}.map-title{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px}.live-dot,footer i{display:inline-block;width:6px;height:6px;background:#517d60;border-radius:50%}#minimap{width:100%;height:auto;margin-top:12px}.map-footer{border-top:1px solid #243e301b;display:flex;justify-content:space-between;align-items:start;gap:8px;padding-top:13px;font-size:11px}.map-footer>span:last-child{text-align:right;color:#718176;font-size:10px}.map-footer small{display:block;font-size:8px;margin-top:3px}#intro{position:fixed;left:5.5vw;top:26vh;padding:30px 34px 26px;background:#f8f7f0f5;border-radius:20px;box-shadow:0 20px 70px #263d3026;z-index:5;max-width:460px}.eyebrow{font-size:9px;letter-spacing:2px;color:#6d7b6e}h1{font-family:Georgia,serif;font-size:42px;font-weight:400;line-height:1.08;letter-spacing:-1px;margin:20px 0}#intro p{font-size:13px;line-height:1.8;color:#6e7970;margin-bottom:24px}.primary{background:#294b3b;color:#fff;padding:16px 25px;min-width:240px;border-radius:8px;font-size:13px}.primary:hover{background:#3d604d}#load-detail{font-size:10px;color:#6c7a70;margin-top:12px;max-width:310px}.intro-keys{display:flex;gap:18px;margin-top:23px;font-size:10px;align-items:center;color:#758077}.intro-keys kbd{padding:2px 4px}#rooms{position:fixed;bottom:54px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:7px;background:#f8f7f0ed;border-radius:13px;max-width:calc(100vw - 60px);overflow:auto;box-shadow:0 5px 24px #22392f16;z-index:3;scrollbar-width:none}.nav-label{font-size:9px;letter-spacing:1px;white-space:nowrap;margin:0 12px;color:#728278}#rooms button{font-size:11px;white-space:nowrap;border-radius:8px;padding:11px 13px;background:transparent;transition:background .15s}#rooms button:hover,#rooms button.active{background:#294b3b;color:#fff}footer{position:fixed;bottom:19px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.6px;color:#344e44;pointer-events:none;z-index:3;text-shadow:0 0 5px #fff}footer i{margin-right:8px}#reticle{position:fixed;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#ffffffb3;border:1px solid #314a4177;display:none;pointer-events:none}body.exploring #reticle{display:block}#toast{position:fixed;top:100px;left:50%;transform:translateX(-50%);padding:10px 18px;background:#294b3bea;color:#fff;font-size:12px;border-radius:30px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:8}#toast.visible{opacity:1}#help{position:fixed;z-index:7;right:30px;top:105px;width:320px;padding:27px;background:#f9f8f2;border-radius:15px;box-shadow:0 15px 70px #163a3633;font-size:13px;line-height:1.9}#help h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:0 0 14px}#help button{background:#294b3b;color:white;padding:10px 20px;border-radius:7px}#touch-controls{display:none;position:fixed;bottom:130px;left:23px;text-align:center;z-index:4;touch-action:none}#touch-controls button{width:44px;height:44px;border-radius:50%;background:#f9f8efe8;margin:3px;user-select:none;touch-action:none}#touch-controls button:active{background:#294b3b;color:white}body.error #intro{display:block}body.error #intro h1{font-size:30px}
@media(pointer:coarse){body.exploring #touch-controls{display:block}.intro-keys{display:none}}@media(max-width:700px){header{inset:14px 14px auto}.brand{padding:9px 11px}.brand div>span{display:none}.brand strong{font-size:14px}.brand-icon{width:30px;height:30px;font-size:11px}.tools button{padding:10px 12px}.tools kbd{display:none}#map-panel{right:14px;top:83px;width:172px;padding:12px}.map-footer>span:last-child{display:none}#intro{left:18px;right:18px;top:auto;bottom:145px;padding:25px;max-width:390px}h1{font-size:33px;margin:15px 0}#intro p{margin-bottom:17px}.primary{padding:13px 20px}#rooms{left:14px;right:14px;transform:none;max-width:none;bottom:48px;border-radius:10px}.nav-label{display:none}#rooms button{padding:10px}footer{left:15px;right:15px;font-size:8px;bottom:16px}footer>span:first-child{display:none}#help{right:14px;left:14px;width:auto;top:82px}body:not(.exploring) #map-panel{display:none}#toast{top:78px;max-width:90%;width:max-content;text-align:center}}
