/* Host Options — converted to owner file in 09-multiplayer-lobby.css */

/* =========================================
   Pass 57 late authority polish — setup / social / results families
   Purpose: remaining social cards still live here until their owner pass.
   Targets: Friends/Profile.
   ========================================= */

/* ============================================================
   Panel style pass 7 — results / Chaoregon setup / Bubble Pop / ChaoRPG authority
   Purpose: fix leftover old-shell owners for results and RPG/minigame setup families,
   enlarge results sizing, and make these panels match the upgraded project shell.
   ============================================================ */

/* Results panel duplicate sizing/footer block trimmed here.
   Later global-results layout + root-shell blocks remain authoritative. */

/* Remove retired body-level X/buttons and legacy arena mode banners now that header controls are standardized. */
#karate2-exit-btn,
.panel .mode-banner,
#class-start,
#class-exit-btn {
  display: none !important;
}


/* ============================================================
   Panel style pass 9 — hard fix results header width conflict
   + River Crossing late authority restyle
   ============================================================ */

/* Results panel duplicate full-width stretch block trimmed here. Later results shell/layout blocks remain authoritative. */

/* River Crossing still looked like an older bare utility prompt.
   Give it the same inset-card treatment as the rest of the upgraded project. */
/* river shell/body ownership lives in 14-trail-b.css */

#river-panel #river-text {
  margin: 0 !important;
  padding: 16px 18px !important;
  min-height: 132px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(115, 154, 194, 0.20) !important;
  background:
    linear-gradient(180deg, rgba(20, 32, 49, 0.94), rgba(10, 17, 27, 0.97)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05) !important;
  color: #eef7ff !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  text-align: left !important;
  white-space: pre-wrap !important;
}

#river-panel #river-ford,
#river-panel #river-raft,
#river-panel #river-ferry {
  width: 100% !important;
  min-height: 56px !important;
  padding: 12px 18px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(170, 206, 244, 0.42) !important;
  background:
    linear-gradient(180deg, rgba(90, 132, 180, 0.98), rgba(33, 55, 84, 0.98)) !important;
  color: #f6fbff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  text-align: left !important;
  box-shadow: 0 8px 18px rgba(0,0,0,0.16), inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

#river-panel #river-ford:hover,
#river-panel #river-raft:hover,
#river-panel #river-ferry:hover {
  background:
    linear-gradient(180deg, rgba(108, 151, 200, 0.98), rgba(40, 66, 98, 0.98)) !important;
}

#river-panel #river-ford:disabled,
#river-panel #river-raft:disabled,
#river-panel #river-ferry:disabled {
  opacity: 0.55 !important;
  filter: grayscale(0.15) !important;
}

/* ============================================================
   Panel style pass 10 — normalize River Crossing + Quest Board headers
   ============================================================ */

/* River Crossing + Quest Board */
#river-panel > .panel-header,
#quest-board-panel > .panel-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  min-height: 56px !important;
  padding: 12px 16px !important;
  border-radius: 22px 22px 0 0 !important;
  border-bottom: 1px solid rgba(121, 164, 209, 0.28) !important;
  background:
    linear-gradient(180deg, rgba(57, 87, 122, 0.96), rgba(24, 40, 62, 0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -1px 0 rgba(0,0,0,0.16) !important;
}

#river-panel > .panel-header .panel-title,
#river-panel > .panel-header h2,
#river-panel > .panel-header h3,
#quest-board-panel > .panel-header .panel-title,
#quest-board-panel > .panel-header h2,
#quest-board-panel > .panel-header h3 {
  margin: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #f3f8ff !important;
  font-size: 24px !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.35) !important;
}

#river-panel > .panel-header .panel-header-controls,
#river-panel > .panel-header .panel-controls,
#river-panel > .panel-header .window-controls,
#quest-board-panel > .panel-header .panel-header-controls,
#quest-board-panel > .panel-header .panel-controls,
#quest-board-panel > .panel-header .window-controls {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important;
  flex: 0 0 auto !important;
}

#quest-board-panel > .panel-header button.panel-pin-btn,
#quest-board-panel > .panel-header button.panel-close-x,
#quest-board-panel > .panel-header .pin-btn,
#quest-board-panel > .panel-header .close-btn {
  min-width: 36px !important;
  height: 36px !important;
}

/* ============================================================
   Panel style pass 11 — normalize River + Camp Activities Pin/X controls
   ============================================================ */

#river-panel > .panel-header .panel-pin-btn,
#river-panel > .panel-header .panel-close-x,
#river-panel > .panel-header .pin-btn,
#river-panel > .panel-header .close-btn,
#trail-camp-panel > .panel-header .panel-pin-btn,
#trail-camp-panel > .panel-header .panel-close-x,
#trail-camp-panel > .panel-header .pin-btn,
#trail-camp-panel > .panel-header .close-btn,
#camp-activities-panel > .panel-header .panel-pin-btn,
#camp-activities-panel > .panel-header .panel-close-x,
#camp-activities-panel > .panel-header .pin-btn,
#camp-activities-panel > .panel-header .close-btn,
#camp-panel > .panel-header .panel-pin-btn,
#camp-panel > .panel-header .panel-close-x,
#camp-panel > .panel-header .pin-btn,
#camp-panel > .panel-header .close-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 11px !important;
  border: 1px solid rgba(140, 187, 235, 0.34) !important;
  background:
    linear-gradient(180deg, rgba(58, 84, 116, 0.98), rgba(27, 42, 64, 0.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 6px 12px rgba(0,0,0,0.18) !important;
  color: #eef6ff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.35) !important;
  cursor: pointer !important;
}

#river-panel > .panel-header .panel-pin-btn:hover,
#river-panel > .panel-header .panel-close-x:hover,
#river-panel > .panel-header .pin-btn:hover,
#river-panel > .panel-header .close-btn:hover,
#trail-camp-panel > .panel-header .panel-pin-btn:hover,
#trail-camp-panel > .panel-header .panel-close-x:hover,
#trail-camp-panel > .panel-header .pin-btn:hover,
#trail-camp-panel > .panel-header .close-btn:hover,
#camp-activities-panel > .panel-header .panel-pin-btn:hover,
#camp-activities-panel > .panel-header .panel-close-x:hover,
#camp-activities-panel > .panel-header .pin-btn:hover,
#camp-activities-panel > .panel-header .close-btn:hover,
#camp-panel > .panel-header .panel-pin-btn:hover,
#camp-panel > .panel-header .panel-close-x:hover,
#camp-panel > .panel-header .pin-btn:hover,
#camp-panel > .panel-header .close-btn:hover {
  border-color: rgba(176, 215, 251, 0.48) !important;
  background:
    linear-gradient(180deg, rgba(72, 102, 139, 0.98), rgba(34, 54, 80, 0.98)) !important;
  transform: translateY(-1px) !important;
}

#river-panel > .panel-header .panel-close-x,
#river-panel > .panel-header .close-btn,
#trail-camp-panel > .panel-header .panel-close-x,
#trail-camp-panel > .panel-header .close-btn,
#camp-activities-panel > .panel-header .panel-close-x,
#camp-activities-panel > .panel-header .close-btn,
#camp-panel > .panel-header .panel-close-x,
#camp-panel > .panel-header .close-btn {
  border-color: rgba(202, 149, 170, 0.34) !important;
  background:
    linear-gradient(180deg, rgba(92, 63, 78, 0.98), rgba(54, 34, 45, 0.98)) !important;
}

#river-panel > .panel-header .panel-close-x:hover,
#river-panel > .panel-header .close-btn:hover,
#trail-camp-panel > .panel-header .panel-close-x:hover,
#trail-camp-panel > .panel-header .close-btn:hover,
#camp-activities-panel > .panel-header .panel-close-x:hover,
#camp-activities-panel > .panel-header .close-btn:hover,
#camp-panel > .panel-header .panel-close-x:hover,
#camp-panel > .panel-header .close-btn:hover {
  border-color: rgba(228, 175, 194, 0.52) !important;
  background:
    linear-gradient(180deg, rgba(112, 74, 93, 0.98), rgba(66, 41, 55, 0.98)) !important;
}

#river-panel > .panel-header .panel-pin-btn img,
#river-panel > .panel-header .panel-close-x img,
#river-panel > .panel-header .pin-btn img,
#river-panel > .panel-header .close-btn img,
#trail-camp-panel > .panel-header .panel-pin-btn img,
#trail-camp-panel > .panel-header .panel-close-x img,
#trail-camp-panel > .panel-header .pin-btn img,
#trail-camp-panel > .panel-header .close-btn img,
#camp-activities-panel > .panel-header .panel-pin-btn img,
#camp-activities-panel > .panel-header .panel-close-x img,
#camp-activities-panel > .panel-header .pin-btn img,
#camp-activities-panel > .panel-header .close-btn img,
#camp-panel > .panel-header .panel-pin-btn img,
#camp-panel > .panel-header .panel-close-x img,
#camp-panel > .panel-header .pin-btn img,
#camp-panel > .panel-header .close-btn img {
  width: 14px !important;
  height: 14px !important;
  object-fit: contain !important;
  filter: none !important;
}

#river-panel > .panel-header .panel-pin-btn span,
#river-panel > .panel-header .panel-close-x span,
#trail-camp-panel > .panel-header .panel-pin-btn span,
#trail-camp-panel > .panel-header .panel-close-x span,
#camp-activities-panel > .panel-header .panel-pin-btn span,
#camp-activities-panel > .panel-header .panel-close-x span,
#camp-panel > .panel-header .panel-pin-btn span,
#camp-panel > .panel-header .panel-close-x span {
  display: inline-block !important;
  line-height: 1 !important;
}

.result-actor-placement .result-rank-image {
  width: 40px;
  height: 20px;
  object-fit: contain;
  image-rendering: auto;
}

.minigames-heading {
  min-height: 56px;
  background: center / contain no-repeat url("../assets/ui/buttons/MiniGamesButton.png");
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}

#minigames-sub-back,
#minigames-launch-btn,
#global-results-back,
#global-results-next,
#global-results-accept,
#results-prev-chao,
#results-next-chao {
  position: relative;
  background-color: transparent !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border: none !important;
  box-shadow: none !important;
  color: transparent !important;
  text-shadow: none !important;
  overflow: hidden;
}
#minigames-sub-back,
#global-results-back,
#results-prev-chao {
  background-image: url("../assets/ui/buttons/BackButton.png");
}
#minigames-launch-btn {
  background-image: url("../assets/ui/buttons/StartButton.png");
}
#global-results-next,
#results-next-chao {
  background-image: url("../assets/ui/buttons/NextButton.png");
}
#global-results-next[data-skin="summary"] {
  background-image: url("../assets/ui/buttons/SummaryButton.png");
}
#global-results-accept {
  background-image: url("../assets/ui/buttons/AcceptButton.png");
}
#minigames-sub-back::after,
#minigames-launch-btn::after,
#global-results-back::after,
#global-results-next::after,
#global-results-accept::after,
#results-prev-chao::after,
#results-next-chao::after {
  content: "";
  position: absolute;
  inset: 0;
}
#minigames-sub-back {
  width: 132px;
  min-width: 132px;
  min-height: 46px;
}
#minigames-launch-btn {
  width: 228px;
  min-width: 228px;
  min-height: 62px;
}
#global-results-back,
#global-results-next,
#global-results-accept,
#results-prev-chao,
#results-next-chao {
  width: 132px;
  min-width: 132px !important;
  min-height: 46px;
}
#minigames-sub-back:hover,
#minigames-launch-btn:hover,
#global-results-back:hover,
#global-results-next:hover,
#global-results-accept:hover,
#results-prev-chao:hover,
#results-next-chao:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}
#minigames-sub-back:focus-visible,
#minigames-launch-btn:focus-visible,
#global-results-back:focus-visible,
#global-results-next:focus-visible,
#global-results-accept:focus-visible,
#results-prev-chao:focus-visible,
#results-next-chao:focus-visible {
  outline: 2px solid rgba(255,255,255,0.8);
  outline-offset: 2px;
}

/* toolbar theme ownership lives in 04-sidebar-toolbar-cursor.css */

.minigames-big-btn,
.minigames-wide-btn,
.minigames-wip-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(9, 18, 33, 0.7);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06), 0 10px 24px rgba(0,0,0,0.26);
  cursor: pointer;
}
.minigames-big-btn:hover,
.minigames-wide-btn:hover,
.minigames-wip-btn:hover {
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.1), 0 14px 28px rgba(0,0,0,0.35);
}
.minigames-big-btn img,
.minigames-wide-btn img,
.minigames-wip-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  image-rendering: auto;
  opacity: 0.92;
}
.minigames-big-label,
.minigames-wide-label {
  position: absolute;
  inset: auto 12px 10px 12px;
  font-size: 24px;
  font-weight: 900;
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
  pointer-events: none;
}
.minigames-sub-topbar {
  display: flex;
  align-items: center;
  gap: 10px;
}
.minigames-sub-topbar button,
.minigames-sub-actions button,
.minigames-party-actions button,
.minigames-launch-options button {
  min-height: 36px;
}
.minigames-sub-title {
  font-size: 26px;
  font-weight: 900;
  color: #f4fbff;
}
.minigames-sub-copy,
.minigames-party-copy {
  color: rgba(240,248,255,0.92);
  font-size: 15px;
  line-height: 1.35;
}
.minigames-option-groups {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 0 0 auto;
  overflow: visible;
}
.minigames-selection-pane {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  min-height: 0;
}
.minigames-option-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.08);
}
.minigames-option-group h4 {
  margin: 0;
  font-size: 16px;
  color: #fff;
}
.minigames-option-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.minigames-option-btn,
.minigames-wip-list button,
.minigames-launch-options label {
  border-radius: 10px;
}
.minigames-option-btn,
.minigames-wip-list button {
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}
.minigames-option-btn {
  min-width: 120px;
  padding: 10px 12px;
}
.minigames-option-btn.active,
.minigames-wip-list button.active {
  background: rgba(119, 194, 255, 0.22);
  border-color: rgba(160, 218, 255, 0.65);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12);
}
.minigames-party-title {
  margin-top: 4px;
}
.minigames-party-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.9fr);
  gap: 14px;
  min-height: 320px;
  flex: 1 1 auto;
}
.minigames-party-col,
.minigames-class-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.minigames-party-col {
  gap: 8px;
}
.minigames-party-col h4 {
  margin: 0;
  color: #fff;
}
.minigames-chao-grid,
.minigames-slot-grid,
.minigames-class-panel {
  border-radius: 10px;
  background: rgba(0,0,0,0.24);
  border: 1px solid rgba(255,255,255,0.08);
}
.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";
  }
}

/* ============================================================
   Late fix — Trash preset authority + MiniGames WIP banner sizing
   ============================================================ */
.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;
}

