/* Flutter-only shared application chrome. Source: 1XtraApp/lib/service_os.
   The legacy website topbar is not a screen/widget in the Dart application.
   Keep its DOM nodes for existing JavaScript event wiring; remove it from view.
   Do not touch #playerHost or media elements (PiP and playback remain intact). */
html body #app > header.topbar,
html body #app > header.topbar * { display: none !important; }
html body #app > header.topbar { height: 0 !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; margin: 0 !important; visibility: hidden !important; }
/* Navigation safety: the Dart Service Selector has no legacy bottom menu,
   and Marketplace renders its own Flutter Browse/Sell/Orders/Messages/More
   workspace menu. Other pages still rely on their existing WebApp nav until
   their equivalent Flutter menus are ported. Never globally hide navigation. */
html body.mxso-home #app > nav#bottomNav,
html body.mx-flutter-market-workspace #app > nav#bottomNav {
  display:none !important;
  visibility:hidden !important;
}
html body:not(.mxso-home):not(.mx-flutter-market-workspace) #app > nav#bottomNav {
  display:flex !important;
  visibility:visible !important;
}
/* An empty placeholder is not a mini-player. Never hide a loaded player. */
html body #playerHost:empty { display:none !important; }
/* Do not reserve room for legacy nav on the selector, marketplace, or other
   service pages. Preserve bottom clearance for the Flutter Marketplace tabs. */
html body.mxso-home #page { padding-bottom:0 !important; }
html body.mx-flutter-market-workspace #page { padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px)) !important; }
