
#class-arena-panel > .panel-body {
  background: url("../assets/bgs/bg_class.png") center/cover !important;
}


#mini-maze-panel,
#tag-mp-panel,
#ringgrab-mp-panel,
#hotrope-mp-panel,
#meteordodge-mp-panel,
#skydive-mp-panel,
#bumperballs-mp-panel,
#tron-mp-panel,
#flappy-mp-panel,
#beatemup-mp-panel,
#chaomirage-mp-panel,
#speedhockey-mp-panel,
#bobsled-mp-panel,
#bigblast-mp-panel {
  z-index: 9300;
}

#cheatmp-arena-panel {
  max-width: min(1630px, calc(var(--app-authored-width) - 24px));
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}

#cheatmp-arena-panel > .panel-header {
  flex: 0 0 auto;
}

#cheatmp-arena-panel > .panel-body {
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

#cheatmp-arena-panel .panel-header-controls {
  position: static;
  transform: none;
}

#cheatmp-arena-panel .cheatmp-exit-btn {
  width: 30px;
  height: 30px;
  font-size: 18px;
  line-height: 1;
}


/* pass12: tag/treasure contract ownership migrated from 03-panel-contract.css */
#tag-arena-panel > .panel-body {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
}


#obstacle-garden-panel {
  position: absolute;
  background: rgba(10, 15, 25, 0.9);
  border: 2px solid #415a77;
  border-radius: 10px;
  overflow: hidden;
}

#tag-arena-panel {
  background: rgba(15,25,35,0.95);
  border: 2px solid #415a77;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  user-select: none;
}

/* ============================================================
   HOTFIX — MP gameplay panels blank/zero-height after display pass
   Force arena layers to use flex fill instead of percentage-height math.
   ============================================================ */
#tag-mp-panel,
#ringgrab-mp-panel,
#hotrope-mp-panel,
#meteordodge-mp-panel,
#skydive-mp-panel,
#bumperballs-mp-panel,
#speedhockey-mp-panel,
#bobsled-mp-panel,
#bigblast-mp-panel,
#tron-mp-panel,
#flappy-mp-panel,
#beatemup-mp-panel,
#chaomirage-mp-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#tag-mp-panel > .panel-body,
#ringgrab-mp-panel > .panel-body,
#hotrope-mp-panel > .panel-body,
#meteordodge-mp-panel > .panel-body,
#skydive-mp-panel > .panel-body,
#bumperballs-mp-panel > .panel-body,
#speedhockey-mp-panel > .panel-body,
#bobsled-mp-panel > .panel-body,
#bigblast-mp-panel > .panel-body,
#tron-mp-panel > .panel-body,
#flappy-mp-panel > .panel-body,
#beatemup-mp-panel > .panel-body,
#chaomirage-mp-panel > .panel-body,
.tmp-panel-body,
.mp2x-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

#tag-mp-arena,
#ringgrab-mp-arena,
#hotrope-mp-arena,
#meteordodge-mp-arena,
#skydive-mp-arena,
#bumperballs-mp-arena,
#speedhockey-mp-arena,
#bobsled-mp-track,
#bigblast-mp-arena,
#tron-mp-arena,
#flappy-mp-arena,
#beatemup-mp-arena,
#chaomirage-mp-arena,
.tmp-panel-body > #tag-mp-arena,
.tmp-panel-body > #ringgrab-mp-arena,
.tmp-panel-body > #hotrope-mp-arena,
.tmp-panel-body > .md-arena,
.tmp-panel-body > .sd-arena,
.tmp-panel-body > #bumperballs-mp-arena,
.tmp-panel-body > .sh-arena,
.tmp-panel-body > .bs-track,
.tmp-panel-body > .bbg-arena {
  position: relative;
  flex: 1 1 auto !important;
  min-width: 0;
  min-height: 0;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden;
}

#tron-mp-canvas,
#flappy-mp-canvas,
#beatemup-mp-canvas,
#chaomirage-mp-canvas,
#tron-mp-chao-container,
#flappy-mp-chao-container,
#beatemup-mp-chao-container,
#chaomirage-mp-chao-container,
#tag-mp-chao-container,
#hotrope-mp-rope,
#hotrope-mp-chao-container,
#meteordodge-mp-fx,
#meteordodge-mp-chao-container,
#speedhockey-mp-chao-container,
#bigblast-grid {
  position: absolute;
  inset: 0;
}

#tron-mp-canvas,
#flappy-mp-canvas,
#beatemup-mp-canvas,
#chaomirage-mp-canvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
}

/* ============================================================
   MP gameplay panel repair hotfix
   - normalize header strip spacing
   - keep gameplay arena fully visible
   - keep results modal above gameplay
   ============================================================ */
:is(#karate-mp-panel,
#tag-mp-panel,
#ringgrab-mp-panel,
#hotrope-mp-panel,
#meteordodge-mp-panel,
#skydive-mp-panel,
#bumperballs-mp-panel,
#speedhockey-mp-panel,
#bobsled-mp-panel,
#bigblast-mp-panel,
#tron-mp-panel,
#flappy-mp-panel,
#beatemup-mp-panel,
#chaomirage-mp-panel) {
  overflow: hidden;
}

:is(#karate-mp-panel,
#tag-mp-panel,
#ringgrab-mp-panel,
#hotrope-mp-panel,
#meteordodge-mp-panel,
#skydive-mp-panel,
#bumperballs-mp-panel,
#speedhockey-mp-panel,
#bobsled-mp-panel,
#bigblast-mp-panel,
#tron-mp-panel,
#flappy-mp-panel,
#beatemup-mp-panel,
#chaomirage-mp-panel) > .panel-header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--panel-header-h, 44px);
  padding: 10px 12px;
}

:is(#karate-mp-panel,
#tag-mp-panel,
#ringgrab-mp-panel,
#hotrope-mp-panel,
#meteordodge-mp-panel,
#skydive-mp-panel,
#bumperballs-mp-panel,
#speedhockey-mp-panel,
#bobsled-mp-panel,
#bigblast-mp-panel,
#tron-mp-panel,
#flappy-mp-panel,
#beatemup-mp-panel,
#chaomirage-mp-panel) :is(.panel-title, .tmp-title, .mp2x-title) {
  min-width: 0;
  margin-right: auto;
  padding-right: 132px;
}

