/**
 * Frontend app shell — match home page width.
 * Centered 10rem column via margin (NOT body flex — flex breaks
 * fixed navbars, sticky bars, overlays, download dialogs).
 * ≤500px: full width. Skips AdminLTE (body.hold-transition).
 */

body:not(.hold-transition) {
  margin: 0;
  padding: 0;
  background: #090909 !important;
  background-color: #090909 !important;
}

body:not(.hold-transition) #app {
  width: 100% !important;
  max-width: 10rem !important;
  min-width: 0 !important;
  min-height: 100vh;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
  position: relative;
}

/* Bottom tabbar — viewport-centered, same width as #app */
body:not(.hold-transition) .tabbar__container {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: 10rem !important;
  transform: translateX(-50%) !important;
  z-index: 1000 !important;
  box-sizing: border-box !important;
}

/* Home top download bar */
body:not(.hold-transition) .home-appbar {
  left: 50% !important;
  right: auto !important;
  width: 100% !important;
  max-width: 10rem !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}

/* Home fixed navbar */
body:not(.hold-transition) .navbar-fixed {
  left: 50% !important;
  right: auto !important;
  width: 100% !important;
  max-width: 10rem !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/*
 * Sub-page title bars (.navbar[data-v-106b99c8]):
 * already position:fixed + max-width:10rem in page CSS, but left defaults to 0.
 * Center them with the shell — do NOT touch transform on pages that already set it
 * via more specific rules (e.g. .wx-play .navbar).
 */
body:not(.hold-transition) .navbar[data-v-106b99c8] {
  left: 50% !important;
  right: auto !important;
  width: 100% !important;
  max-width: 10rem !important;
  transform: translateX(-50%) !important;
  box-sizing: border-box !important;
}

body:not(.hold-transition) #app .mian,
body:not(.hold-transition) #app .wx-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}
