*{box-sizing:border-box}body{margin:0;background:#e8eaed;color:#252b31;font-family:Inter,Arial,sans-serif;font-size:16px;overflow:hidden}button,select{font:inherit}button{cursor:pointer;border:1px solid #d3d6db;background:#fff;color:#252b31;border-radius:8px;padding:10px 16px}button:hover{background:#edf0f3}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #5678a0;outline-offset:3px}#scene{position:absolute;inset:0}#scene canvas{display:block;touch-action:none}header{position:absolute;top:24px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}header>*{pointer-events:auto}.brand{font-size:28px;font-weight:800;letter-spacing:-1px}.brand span{display:block;font-size:10px;letter-spacing:2px;margin-top:5px;font-weight:500}.mode{padding:5px;background:#fff9;border:1px solid #fff;border-radius:12px;display:flex;gap:4px}.mode button{border:0;background:transparent;font-size:14px}.mode button.active{background:#252b31;color:white}#help{border-radius:50%;width:42px;height:42px;padding:0}aside{position:absolute;left:30px;top:136px;width:275px;padding:25px;background:#ffffffeb;border-radius:16px;border:1px solid white;box-shadow:0 15px 50px #35404a0a}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#68727c}h1{font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.15;margin:17px 0 10px}.intro{font-size:14px;line-height:1.5;color:#737980}.divider{height:1px;background:#e4e6e8;margin:25px 0}label{display:block;font-size:14px;margin-bottom:10px}select{width:100%;padding:12px 6px;background:#f7f8f9;border:1px solid #dfe2e6;border-radius:6px;font-size:14px}.primary{background:#252b31;color:#fff;border:0;width:100%;font-size:14px;padding:14px;margin-top:12px}.primary:hover{background:#424c57}.primary span{float:right}.facts{display:flex;gap:20px;margin:28px 0}.facts b{display:block;font-size:23px;font-weight:500}.facts small{font-size:14px}.facts span{display:block;font-size:12px;line-height:1.4;margin-top:6px;color:#7a8086}details{border-top:1px solid #e4e6e8;padding-top:15px;font-size:14px}summary{cursor:pointer;color:#68727c}details p{line-height:1.5}a{color:#414f60}#location{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);font-size:14px;font-weight:600;background:#ffffffde;padding:10px 18px;border-radius:20px;white-space:nowrap}#hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-size:13px;color:#525d67;text-align:center;width:70%;pointer-events:none}#zoom{position:absolute;right:30px;top:115px;display:flex;flex-direction:column;gap:6px}#zoom button{width:42px;height:42px;padding:0;font-size:22px}#map{position:absolute;right:30px;bottom:85px;background:#ffffffd9;border:1px solid white;border-radius:12px;width:240px;height:141px;display:none}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;text-shadow:0 1px 3px #222;pointer-events:none;display:none}#pad{display:none;position:absolute;bottom:95px;left:30px;text-align:center;touch-action:none}#pad button{width:44px;height:44px;padding:0;margin:2px;background:#ffffffd9}body.walk aside{display:none}body.walk #map,body.walk #crosshair,body.walk #pad{display:block}body.walk #zoom{display:none}dialog{max-width:480px;border:1px solid #ddd;border-radius:16px;padding:30px;line-height:1.6}dialog::backdrop{background:#1116}#error{position:absolute;inset:35% 15%;background:white;padding:30px;border-radius:16px;z-index:5}@media(max-width:700px){header{top:16px;left:16px;right:16px}.brand{font-size:23px}.brand span{font-size:8px}.mode button{padding:10px;font-size:13px}aside{left:16px;top:auto;bottom:75px;width:220px;padding:16px}h1{font-size:23px;margin:10px 0}.intro,.facts,.divider,details,.eyebrow{display:none}label{font-size:13px}.primary{margin-top:8px}#zoom{right:16px}#hint{bottom:18px;width:90%;font-size:12px}#location{bottom:44px;font-size:12px}#map{width:165px;height:97px;right:16px;bottom:95px}#pad{left:16px}.mode{margin-left:10px}#help{width:32px;height:32px;margin-left:8px}}@media(max-height:700px) and (min-width:701px){aside{top:100px;padding:20px}.facts{margin:15px 0}.divider{margin:16px 0}}

.brand span,.eyebrow{font-size:12px;letter-spacing:1px}.facts span{color:#626a73}aside{max-height:calc(100dvh - 230px);overflow:auto}#map{width:170px;height:210px}details{font-size:14px}.intro{color:#626a73}
@media(max-width:700px){aside{width:210px;bottom:90px;max-height:270px}aside details{display:block;margin-top:10px}aside details[open]{max-height:130px;overflow:auto}.brand span{font-size:10px}.mode button,label{font-size:14px}#map{width:126px;height:156px;bottom:100px}#location{max-width:95%;white-space:normal;text-align:center}#hint{font-size:12px}header{gap:5px}.brand{font-size:22px}}
