/* Touch controls stay available after orientation changes, including wide phones. */
.orientation-hint,.portrait-tip{display:none}
@media (any-pointer:coarse), (max-width:800px), (max-width:1100px) and (max-height:520px) {
  .controls-hint{display:none}
  .mobile-controls{position:absolute;inset:auto max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
  .joystick{position:relative;display:block;flex-shrink:0;width:108px;height:108px;border:2px solid #ffffff70;border-radius:50%;background:#182a4666;pointer-events:auto;touch-action:none;backdrop-filter:blur(8px)}
  .joystick span{position:absolute;left:50%;top:50%;width:46px;height:46px;border-radius:50%;background:#fffffff0;box-shadow:0 6px 18px #101b4638;transform:translate(-50%,-50%);pointer-events:none}
  .mobile-actions{display:grid;gap:10px}
  .mobile-actions button{width:72px;height:48px;border:1px solid #ffffff80;border-radius:14px;background:#20314beb;color:#fff;font-size:12px;font-weight:800;pointer-events:auto;touch-action:none;backdrop-filter:blur(8px)}
  #jump{height:72px;background:#456ce7;border:2px solid #ffffff80}
  .hud{padding: max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
  .hud kbd{display:none}
  .players-box{display:none}
  .connection.online{display:none}
  .hotbar{bottom:max(16px,env(safe-area-inset-bottom));gap:6px}
  .hot-slot{width:48px;height:48px;border-radius:10px;font-size:24px}
  .interact-button{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 62px);padding:12px 16px;min-height:44px;max-width:calc(100vw - 290px);white-space:normal;font-size:12px}
  #world{touch-action:none}
}
@media (orientation:landscape) and (any-pointer:coarse), (orientation:landscape) and (max-width:1100px) and (max-height:520px) {
  .mission-hud{width:240px;max-width:35vw;padding:10px 12px;border-radius:14px}
  .mission-hud h2{font-size:14px;margin-bottom:6px}
  .mission-hud .hud-label{font-size:9px;margin-bottom:4px}
  .mission-hud>p:last-child{font-size:10px;margin:6px 0 0}
  .progress{height:5px}
  .room-hud{padding:8px 10px;max-width:190px;border-radius:14px}
  .room-hud>div:first-child{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 10px}
  .room-hud .hud-label{font-size:9px;margin:0;grid-column:1}
  .room-code{font-size:15px;grid-column:1;margin:0}
  .small-button{grid-column:2;grid-row:1/3;min-height:44px;max-width:96px;font-size:11px;line-height:1.3;margin:0;padding:7px}
  .adventure-bar{top:105px;left:max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:auto auto;gap:5px}
  #map-name{display:none}
  #wallet{grid-column:1/3;font-size:10px;padding:6px 8px;background:#ffffffe8}
  .adventure-bar button{font-size:11px;padding:10px;min-height:44px;text-align:center}
  #minimap{top:90px;right:max(12px,env(safe-area-inset-right));width:70px;height:70px;border-radius:12px;border-width:2px}
  .connection.offline{top:85px;bottom:auto;left:50%;transform:translateX(-50%);max-width:220px}
  .toast{bottom:145px;font-size:12px;padding:10px;max-width:50vw}
  dialog{max-height:calc(100dvh - 24px);padding:18px}
  .dialog-heading{margin-bottom:12px}.dialog-heading h2{font-size:23px}
  .inventory-item{padding:10px}
  .lobby{min-height:100dvh;align-items:start;padding-top:24px}
}
@media (orientation:portrait) and (any-pointer:coarse), (orientation:portrait) and (max-width:800px) {
  .orientation-hint{display:block;margin:0 0 16px;padding:10px 12px;border-radius:9px;background:#e5edff;color:#35549b;font-size:12px;line-height:1.4}
  .portrait-tip{display:block;position:absolute;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 62px);left:50%;transform:translateX(-50%);width:170px;text-align:center;color:#fff;font-size:10px;line-height:1.4;background:#20314bcf;padding:7px;border-radius:8px}
  .mobile-controls{bottom:max(112px,env(safe-area-inset-bottom))}
  .interact-button{bottom:245px;max-width:90vw}
  .toast{bottom:302px}
}
@media (orientation:landscape) and (max-height:340px) {
  .joystick{width:88px;height:88px}.joystick span{width:38px;height:38px}
  .mobile-actions{gap:6px}.mobile-actions button{height:44px;width:64px}#jump{height:60px}
  .adventure-bar{top:98px}.adventure-bar button{min-height:40px;padding:7px 10px}
  #minimap{width:56px;height:56px}
}

