*{box-sizing:border-box}body{margin:0;background:#b7c9cb;color:#faf5e9;font:16px/1.5 system-ui,sans-serif;overflow:hidden}#world{position:fixed;inset:0}#world canvas{width:100%;height:100%;display:block;touch-action:none}header{position:absolute;top:28px;left:32px;pointer-events:none;text-shadow:0 2px 12px #172323}h1{font:38px/1.1 Georgia,serif;margin:7px 0}header p{margin:8px 0;font-size:14px}.eyebrow{font-size:13px;letter-spacing:.18em}button{font:inherit;color:inherit;background:#233938e8;border:1px solid #b7c3b26b;border-radius:5px;padding:10px 16px;cursor:pointer}button:hover,button:focus-visible{background:#42615c;outline:2px solid #e4bf78}#top{position:absolute;right:28px;top:28px;display:flex;gap:8px}footer{position:absolute;bottom:24px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#142d2de8;border:1px solid #e6e8dc40;border-radius:6px}footer strong{font:22px Georgia,serif;display:block}footer span{font-size:14px;color:#d4dfd9;display:block;margin-top:4px}#walk{background:#d8bb7d;color:#142c2b;font-weight:600}#info{position:absolute;top:86px;right:28px;max-height:75vh;overflow:auto;width:390px;max-width:calc(100vw - 32px);padding:24px;background:#142d2df5;border:1px solid #879b90;border-radius:6px}#info h2{font:26px Georgia,serif}#info p{font-size:15px}#info a{color:#e5c98e}#close{float:right;padding:0 8px;font-size:24px}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.65;pointer-events:none}#focus{position:absolute;left:50%;top:55%;transform:translateX(-50%);padding:10px 16px;background:#142d2de8;max-width:340px;border-radius:5px;font-size:14px}#map{position:absolute;bottom:136px;left:32px;background:#142d2de8;border:1px solid #d1d8c84a;border-radius:5px;width:180px;height:135px}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#142d2d;font:25px Georgia,serif}#touch{display:none;position:absolute;bottom:130px;right:20px;text-align:center}#touch button{padding:12px 18px;margin:2px;touch-action:none}@media(pointer:coarse){#touch{display:block}#walk{display:none}}@media(max-width:800px){header{top:16px;left:16px}h1{font-size:28px}header p{display:none}#top{top:107px;left:16px;right:16px;gap:5px}#top button{font-size:13px;padding:8px}footer{left:12px;right:12px;bottom:12px;padding:12px}footer span{font-size:12px;max-width:240px}#map{left:16px;width:140px;height:105px}#info{top:160px;right:16px;max-height:55vh}}
