:root {
  --app-safe-left: env(safe-area-inset-left, 0px);
  --app-safe-right: env(safe-area-inset-right, 0px);
  --app-safe-top: env(safe-area-inset-top, 0px);
  --app-safe-bottom: env(safe-area-inset-bottom, 0px);
}
html:is(.mobile-polish,.android-shell) .game-shell { padding: 0!important; }
html:is(.mobile-polish,.android-shell) .canvas-wrap {
  --mobile-left-ui: max(24px, calc(var(--app-safe-left) + 8px));
  --mini-right: max(13px, calc(var(--app-safe-right) + 8px));
  --mini-top: max(13px, calc(var(--app-safe-top) + 8px));
}
/* Giữ minimap và nút Máy chủ ở cùng mép trên như APK, kể cả khi xoay dọc.
   Dọc hẹp: thanh sinh lực có hàng riêng dưới minimap/Online để không đè nút. */
@media(max-width:650px) and (orientation:portrait){
  html:is(.mobile-polish,.android-shell) .canvas-wrap {
    --vitals-top: calc(var(--mini-top) + var(--mini-height) + 42px);
  }
}
/* Thanh máu/thể lực luôn căn giữa màn hình, không lệch theo cụm nút bên phải. */
html:is(.mobile-polish,.android-shell) .vitals-hud{left:50%;transform:translateX(-50%)}
/* Giữ tâm cố định; chỉ co chiều rộng khi cạnh màn hình có tai thỏ/nút. */
@media(orientation:landscape){
 html:is(.mobile-polish,.android-shell) .canvas-wrap{
  --vitals-width:min(360px,calc(100vw - 2 * (var(--mini-right) + var(--minimap-width) + var(--mobile-button-size,29.4px) + 16px)));
 }
}
/* Màn ngang hẹp: giữ HUD ở trên, hạ cột nút xuống dưới HUD để chữ còn rõ. */
@media(max-width:800px) and (orientation:landscape){
 html:is(.mobile-polish,.android-shell) .canvas-wrap{
  --vitals-width:min(360px,calc(100vw - 2 * (var(--mini-right) + var(--minimap-width) + 8px)));
 }
 html:is(.mobile-polish,.android-shell) #minimap-tools{
  --utility-top:max(var(--mini-top),calc(var(--vitals-top) + var(--vitals-width) / 6 + 8px));
 }
}
html:is(.mobile-polish,.android-shell) .canvas-wrap .left-status-stack {
  left: var(--mobile-left-ui)!important; bottom: max(12px, calc(var(--app-safe-bottom) + 8px))!important;
}
html:is(.mobile-polish,.android-shell) .canvas-wrap #settings-toggle {
  top: max(10px, calc(var(--app-safe-top) + 8px))!important;
}
html:is(.mobile-polish,.android-shell) .canvas-wrap #settings-menu {
  top: calc(max(10px, calc(var(--app-safe-top) + 8px)) + 38px)!important;
  max-height: calc(100% - var(--app-safe-top) - var(--app-safe-bottom) - 60px)!important;
}
html:is(.mobile-polish,.android-shell) .canvas-wrap .actions {
  right: max(12px, calc(var(--app-safe-right) + 8px))!important;
  bottom: max(12px, calc(var(--app-safe-bottom) + 8px))!important;
}
/* Keep the house buttons near the lower-right edge on mobile and in the APK. */
html:is(.mobile-polish,.android-shell) body.in-house .canvas-wrap .actions:has(#house-controls:not([hidden])) {
  right: max(12px, calc(var(--app-safe-right) + 8px))!important;
  bottom: max(12px, calc(var(--app-safe-bottom) + 8px))!important;
}
html:is(.mobile-polish,.android-shell) .canvas-wrap .quickbar { bottom: max(12px, var(--app-safe-bottom))!important; }
html:is(.mobile-polish,.android-shell) .canvas-wrap #online-widget { right: var(--mini-right)!important; }
html:is(.mobile-polish,.android-shell) .bright-auth .auth-layout {
  padding-left: max(18px, calc(var(--app-safe-left) + 12px));
  padding-right: max(18px, calc(var(--app-safe-right) + 12px));
  padding-top: max(10px, calc(var(--app-safe-top) + 8px));
  padding-bottom: max(10px, calc(var(--app-safe-bottom) + 8px));
}
html:is(.mobile-polish,.android-shell) .bright-auth .auth-masthead {
  left: max(10px, calc(var(--app-safe-left) + 8px)); top: max(8px, var(--app-safe-top));
}
html.android-shell [data-fullscreen] { display: none!important; }
