*{box-sizing:border-box}html,body{color:#17324d;touch-action:none;-webkit-user-select:none;user-select:none;background:#dfe9f2;height:100%;margin:0;font:15px/1.4 Segoe UI,Arial,sans-serif;overflow:hidden}#scene{width:100%;height:100%;display:block;position:fixed;inset:0}.bar{pointer-events:none;display:flex;position:fixed;top:16px;left:16px;right:16px}.brand{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd1;border-radius:14px;padding:10px 16px;box-shadow:0 4px 16px #14285026}.brand b{font-size:20px;display:block}.brand span{color:#5a6b7d;font-size:13px}.tools{flex-direction:column;align-items:stretch;gap:8px;display:flex;position:fixed;top:16px;left:16px}.tools button{color:#17324d;min-width:44px;height:44px;font:inherit;cursor:pointer;background:#ffffffd9;border:0;border-radius:12px;padding:0 12px;font-size:18px;font-weight:700;box-shadow:0 3px 10px #1428502e}.tools button:hover{background:#fff}.tools .to-dog{color:#fff;background:#2e75b6;font-size:14px}.tools .to-dog:hover{background:#1f4e79}.hint{color:#3b5069;white-space:nowrap;pointer-events:none;background:#ffffffd1;border-radius:999px;margin:0;padding:8px 16px;font-size:13px;position:fixed;bottom:14px;right:50%;transform:translate(50%)}#joystick{touch-action:none;background:#ffffff73;border:2px solid #fffc;border-radius:50%;width:132px;height:132px;display:none;position:fixed;bottom:28px;right:24px}#knob{pointer-events:none;background:#2e75b6;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%;box-shadow:0 3px 10px #14285059}@media (pointer:coarse){#joystick{display:block}.hint{bottom:178px}}#marker{opacity:0;pointer-events:none;border:3px solid #2e75b6;border-radius:50%;width:28px;height:28px;margin:-14px 0 0 -14px;position:fixed}#marker.show{animation:.9s ease-out ping}@keyframes ping{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}@media (width<=640px){.brand span{display:none}.hint{white-space:normal;text-align:center;border-radius:14px;width:86%;font-size:12px}}
