.minigames-chao-grid {
  min-height: 0;
  overflow: auto;
  align-content: start;
  padding: 6px;
}
.minigames-slot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 6px;
}
.minigames-slot-grid .party-slot,
.minigames-chao-grid .chao-slot {
  min-height: 96px;
}
.minigames-class-info {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}
.minigames-class-panel {
  padding: 10px;
}
.minigames-class-roster-panel #minigames-class-roster-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: auto;
  min-height: 0;
  max-height: 180px;
  padding-right: 4px;
}
.minigames-class-status-title {
  margin-bottom: 8px;
  color: #fff;
  font-weight: 800;
}
#minigames-class-subject {
  line-height: 1.45;
  color: rgba(240,248,255,0.96);
}
.class-schedule-line {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}
.class-schedule-line b {
  color: #fff;
}
.class-schedule-line span {
  text-align: right;
}
.minigames-launch-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.minigames-launch-options label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
}
.minigames-wip-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.minigames-wip-list button {
  padding: 12px;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.minigames-note {
  padding: 10px 12px;
  border-radius: 10px;
  color: #d9f3ff;
  background: rgba(70, 126, 170, 0.18);
  border: 1px solid rgba(140, 202, 255, 0.2);
}

.minigames-sub-view-wip-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas:
    "topbar topbar"
    "left right";
  gap: 14px 18px;
  align-content: start;
}
.minigames-sub-view-wip-layout .minigames-sub-topbar {
  grid-area: topbar;
}
.minigames-sub-view-wip-layout .minigames-sub-copy {
  display: none;
}
.minigames-sub-view-wip-layout .minigames-option-groups {
  grid-area: left;
  min-width: 0;
  align-self: start;
}
.minigames-sub-view-wip-layout .minigames-selection-pane {
  grid-area: right;
  min-width: 0;
  align-self: start;
}
.minigames-sub-view-wip-layout .minigames-option-group {
  height: 100%;
}
.minigames-sub-view-wip-layout .minigames-wip-list {
  grid-template-columns: 1fr;
  max-height: 560px;
  overflow-y: auto;
}
.minigames-sub-view-wip-layout .minigames-party-title {
  margin: 0;
}
.minigames-sub-view-wip-layout .minigames-party-layout {
  min-height: 0;
}
.minigames-sub-view-wip-layout .minigames-chao-grid {
  max-height: 300px;
}
@media (max-width: 1200px) {
  .minigames-party-layout,
  .minigames-class-info { grid-template-columns: 1fr; }
  .minigames-sub-view-wip-layout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "topbar"
      "left"
      "right";
  }
}

.minigames-wide-btn {
  min-height: 440px;
}

.minigames-wide-btn img {
  width: auto !important;
  height: auto !important;
  max-width: calc(100% - 48px) !important;
  max-height: 420px !important;
  object-fit: contain !important;
}

.minigames-wip-stamp {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-6deg);
  width: min(92%, 820px);
  padding: 12px 18px;
  text-align: center;
  font-size: 32px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff4b3;
  text-shadow: 0 2px 0 rgba(0,0,0,0.95), 0 0 12px rgba(0,0,0,0.85);
  background: rgba(110, 14, 14, 0.78);
  border: 3px solid rgba(255, 228, 147, 0.95);
  border-radius: 18px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.45);
  pointer-events: none;
  z-index: 2;
}



/* Minigames panel body and scroll-fit ownership */
#minigames-panel > .panel-body.minigames-panel-body,
.minigames-panel-body {
  gap: 12px;
  padding: 12px;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.minigames-root-view,
.minigames-sub-view,
.minigames-party-view {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}
.minigames-sub-view {
  padding-right: 4px;
}
.minigames-icon-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  min-width: 0 !important;
}
.minigames-wide-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  min-width: 0 !important;
}
.minigames-submode-grid,
.minigames-party-grid {
  min-width: 0 !important;
}
/* WIP minigame submenu text bump */
.minigames-sub-view-wip-layout .minigames-option-group h4 {
  font-size: 17px;
}
.minigames-sub-view-wip-layout .minigames-wip-list button,
.minigames-sub-view-wip-layout .minigames-party-copy,
.minigames-sub-view-wip-layout .minigames-party-col h4,
.minigames-sub-view-wip-layout .minigames-launch-options label,
.minigames-sub-view-wip-layout .minigames-option-btn,
.minigames-sub-view-wip-layout .chao-name,
.minigames-sub-view-wip-layout .party-slot {
  font-size: 16px;
}
.minigames-sub-view-wip-layout .minigames-party-copy {
  margin-top: -4px;
}
@media (max-width: 1200px) {
  .minigames-icon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* Migrated from 99-legacy-overrides-a.css — minigames class subject alignment */
#class-subject {
  line-height: 1.4em;
  text-align: center;
}


/* WIP MiniGames submenu layout hard owner
   The generic .minigames-sub-view flex rule below the first WIP block was
   overriding the WIP two-column grid, causing the mode list and Chao picker
   to stack vertically. Keep WIP as: topbar full width, WIP mode list left,
   Available/Selected Chao picker right. */
.minigames-sub-view.hidden {
  display: none !important;
}
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.72fr) minmax(640px, 1.28fr) !important;
  grid-template-areas:
    "topbar topbar"
    "left right" !important;
  gap: 14px 18px !important;
  align-content: start !important;
  overflow: hidden !important;
}
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-option-groups {
  grid-area: left !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-selection-pane {
  grid-area: right !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-wip-list {
  max-height: 690px !important;
  overflow-y: auto !important;
}
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-party-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(220px, 0.92fr) !important;
  gap: 12px !important;
  min-height: 0 !important;
}
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-party-col {
  min-width: 0 !important;
  min-height: 0 !important;
}
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-chao-grid,
.minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-slot-grid {
  max-height: 560px !important;
  min-height: 0 !important;
  overflow: auto !important;
}
@media (max-width: 900px) {
  .minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "topbar"
      "left"
      "right" !important;
    overflow: auto !important;
  }
  .minigames-sub-view.minigames-sub-view-wip-layout:not(.hidden) .minigames-party-layout {
    grid-template-columns: 1fr !important;
  }
}
