.touch-joystick{position:relative;flex:0 0 auto;width:144px;height:144px;border:1px solid #a9c7ce;border-radius:50%;background:radial-gradient(circle,#fffffff2 0%,#eff7f8e8 62%,#d4e7ebdf 100%);box-shadow:0 5px 22px #174c5925,inset 0 0 0 7px #ffffff70;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:auto;cursor:grab}
.joystick-rings{position:absolute;inset:25%;border:1px solid #87afb94d;border-radius:50%;pointer-events:none}.joystick-rings:before,.joystick-rings:after{content:'';position:absolute;background:#87afb94d;left:50%;top:-18px;width:1px;height:calc(100% + 36px)}.joystick-rings:after{transform:rotate(90deg)}
.joystick-knob{position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 25%,#36929b,#176b73 75%);border:2px solid #e7f7f9;box-shadow:0 3px 8px #174c5940;pointer-events:none;transition:transform .12s ease-out}
.joystick-held{cursor:grabbing;border-color:#176b73}.joystick-held .joystick-knob{transition:none}.joystick-caption{position:absolute;bottom:7px;left:0;right:0;text-align:center;color:#225d68;font:650 10px system-ui;letter-spacing:.04em;pointer-events:none}
.flight-pad.touch-joystick{margin:8px auto 0;width:120px;height:120px;min-height:120px}.flight-pad .joystick-knob{width:48px;height:48px}
@media(any-pointer:coarse){#touch{display:flex;position:absolute;inset:auto max(22px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));justify-content:space-between;align-items:end;pointer-events:none;z-index:7}#touch button{pointer-events:auto;touch-action:none;user-select:none;min-height:54px;min-width:54px}#mountHud{bottom:165px}header nav{bottom:92px}#camelRideBtn{bottom:160px}.mounted-adventure #camelRideBtn:not([hidden]){display:block!important;bottom:20px;right:22px}footer{display:none}}
.touch-preview #touch{display:flex;position:absolute;inset:auto 22px 20px;justify-content:space-between;align-items:end;pointer-events:none;z-index:7}
@media(max-height:550px){#pad.touch-joystick{width:120px;height:120px}#pad .joystick-knob{width:50px;height:50px}.flight-pad.touch-joystick{width:100px;height:100px;min-height:100px}}
@media(prefers-reduced-motion:reduce){.joystick-knob{transition:none}}

.touch-preview footer{display:none}.touch-preview header nav{bottom:92px}.touch-preview #interact{bottom:175px}.touch-preview #touch button{pointer-events:auto;min-height:54px;min-width:54px;touch-action:none}

