/* Campaign expedition: presentation only. All combat and reward hooks stay in the existing page. */
#campaign {
  --cx-ink: #f5f2ff;
  --cx-muted: #b6bbd7;
  --cx-line: rgba(183, 168, 247, .22);
  --cx-gold: #ffe2a0;
  min-width: 0;
}

#campaign .campaign-expedition-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 13px;
  min-height: 0;
  padding: clamp(16px, 1.3vw, 22px);
  overflow: hidden;
  border: 1px solid rgba(190, 169, 255, .38);
  border-radius: 18px;
  color: var(--cx-ink);
  background: #10132c;
  box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 24px 50px rgba(3, 4, 20, .28);
}

#campaign .campaign-expedition-hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 14, 38, .99) 0%, rgba(14, 18, 47, .93) 31%, rgba(17, 18, 47, .47) 63%, rgba(10, 13, 34, .65) 100%),
    linear-gradient(0deg, rgba(8, 11, 32, .96), transparent 53%),
    url('/assets/game/campaign/ascendant-boss-gauntlet.jpg') center 45% / cover no-repeat;
  transform: scale(1.015);
}

#campaign .campaign-expedition-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 76% 15%, rgba(153, 91, 255, .24), transparent 33%),
    linear-gradient(90deg, transparent 0, rgba(255, 230, 164, .09) 50%, transparent 100%);
}

#campaign .campaign-expedition-hero-copy { max-width: none; }
#campaign .campaign-kicker,
#campaign .campaign-fight-topline,
#campaign .campaign-side-eyebrow {
  margin: 0;
  color: #b7a9ff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .17em;
}
#campaign .campaign-kicker { display: flex; align-items: center; gap: 9px; }
#campaign .campaign-kicker-mark { color: var(--cx-gold); font-size: 1.15rem; line-height: 1; }
#campaign .campaign-expedition-hero h1 {
  margin: 7px 0 5px;
  font-size: clamp(1.8rem, 2.35vw, 2.8rem);
  line-height: 1.05;
  letter-spacing: -.045em;
  text-wrap: balance;
}
#campaign .campaign-expedition-hero h1 em {
  color: var(--cx-gold);
  font-style: normal;
  text-shadow: 0 0 34px rgba(255, 203, 123, .16);
}
#campaign .campaign-expedition-hero-copy > p:not(.campaign-kicker) {
  max-width: 85ch;
  margin: 0;
  color: #d3d4eb;
  font-size: clamp(.86rem, .9vw, .98rem);
  line-height: 1.4;
}
#campaign .campaign-mode-jumps {
  position: relative;
  z-index: 1;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  align-self: end;
  margin: 0;
}
#campaign .campaign-mode-jumps .dashboard-play-tab {
  min-width: 0;
  min-height: 52px;
  padding: 8px 12px;
  border: 1px solid rgba(210, 204, 255, .2);
  border-radius: 13px;
  background: rgba(6, 11, 34, .71);
  backdrop-filter: blur(12px);
  text-decoration: none;
}
#campaign .campaign-mode-jumps .dashboard-play-tab.is-active {
  border-color: rgba(255, 223, 154, .75);
  background: linear-gradient(115deg, rgba(80, 55, 99, .92), rgba(44, 39, 80, .88));
  box-shadow: inset 0 2px var(--cx-gold), 0 8px 24px rgba(7, 4, 21, .2);
}
#campaign .campaign-mode-jumps .dashboard-play-tab span { color: #f8f6ff; }
#campaign .campaign-mode-jumps .dashboard-play-tab small { color: #b5b4d5; }

#campaign .campaign-top-ad { margin-block: 17px 18px; }
#campaign .game-lab-layout { gap: 20px; }
#campaign .campaign-play-layout {
  grid-template-columns: minmax(0, 1.42fr) minmax(340px, .82fr);
  gap: 20px;
  align-items: start;
}
#campaign .campaign-play-layout > * { min-width: 0; }
#campaign .game-lab-fight,
#campaign .campaign-play-sidebar > .game-lab-resources,
#campaign .game-lab-missions-card,
#campaign .game-lab-chest-rewards-card,
#campaign .campaign-world-map-card {
  border: 1px solid var(--cx-line);
  border-radius: 21px;
  color: var(--cx-ink);
  background: linear-gradient(150deg, #172344 0%, #101a35 43%, #0b172c 100%);
  box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 20px 44px rgba(2, 6, 21, .19);
}
#campaign .game-lab-fight { padding: clamp(15px, 1.4vw, 25px); }
#campaign .campaign-fight-topline {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 15px;
  color: #a8c6fa;
}
#campaign .campaign-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7cffe4;
  box-shadow: 0 0 0 4px rgba(124, 255, 228, .1), 0 0 12px rgba(124, 255, 228, .6);
}
#campaign .campaign-fight-topline-rule {
  flex: 1;
  height: 1px;
  margin-inline: 8px;
  background: linear-gradient(90deg, rgba(172, 159, 237, .4), transparent);
}
#campaign .game-lab-fight > .section-heading { align-items: end; gap: 14px; margin-bottom: 12px; }
#campaign .game-lab-fight .section-heading .eyebrow,
#campaign .campaign-world-map-card .eyebrow,
#campaign .game-lab-missions-card .eyebrow,
#campaign .game-lab-chest-rewards-card .eyebrow { color: #a9b6ff; letter-spacing: .14em; }
#campaign .game-lab-fight h2 {
  margin: 4px 0 0;
  color: #fff;
  font-size: clamp(1.7rem, 2.45vw, 3rem);
  line-height: 1.06;
  letter-spacing: -.035em;
}
#campaign .game-lab-fight #gameLabStage {
  padding: 8px 13px;
  border: 1px solid rgba(255, 226, 160, .46);
  border-radius: 10px;
  color: var(--cx-gold);
  background: rgba(255, 226, 160, .09);
  white-space: normal;
  text-align: right;
}
#campaign .solo-arena {
  min-height: clamp(440px, 43vw, 650px);
  margin: 0;
  padding: clamp(20px, 2.2vw, 32px);
  border: 1px solid color-mix(in srgb, var(--area-accent) 48%, transparent);
  border-radius: 17px;
  background-image:
    linear-gradient(180deg, rgba(9, 12, 31, .03) 8%, rgba(9, 12, 31, .03) 55%, rgba(7, 10, 27, .78) 100%),
    var(--area-art),
    linear-gradient(180deg, #172344, #0b172c);
  box-shadow: inset 0 0 75px rgba(2, 5, 16, .24), 0 15px 34px rgba(1, 5, 17, .24);
}
#campaign .solo-enemy-meta { max-width: 660px; }
#campaign .solo-enemy-meta strong {
  padding: 6px 14px;
  border-color: rgba(255, 229, 170, .5);
  color: #fff0c3;
  background: rgba(15, 11, 31, .74);
  backdrop-filter: blur(8px);
}
#campaign .solo-enemy-meta p { color: #d4d6ee; text-shadow: 0 2px 6px #06091c; }
#campaign .solo-health-track {
  height: 39px;
  min-height: 39px;
  margin-top: 16px;
  border: 1px solid rgba(255, 214, 170, .47);
  border-radius: 10px;
  background: rgba(7, 13, 32, .83);
}
#campaign .solo-health-track > span { border-radius: 8px; }
#campaign .campaign-combat-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 15px;
}
#campaign .campaign-combat-actions > button,
#campaign .campaign-combat-actions .custom-energy-action button {
  min-height: 50px;
  border-radius: 11px;
  font-weight: 850;
}
#campaign .campaign-combat-actions > #gameLabAttack {
  background: linear-gradient(100deg, #96ecf8, #b2baff 60%, #dbc6ff);
  color: #10122c;
  box-shadow: 0 9px 22px rgba(96, 131, 223, .17);
}
#campaign .campaign-combat-actions > #gameLabAttack:hover { filter: brightness(1.09); }
#campaign .campaign-combat-actions > .custom-energy-action {
  grid-column: 1 / -1;
  grid-template-columns: minmax(100px, .35fr) minmax(0, 1fr);
  gap: 9px;
}
#campaign .campaign-combat-actions input {
  min-height: 50px;
  border-radius: 11px;
  background: rgba(3, 10, 29, .7);
}
#campaign .campaign-combat-actions > #gameLabReset,
#campaign .campaign-combat-actions > #gameLabBackToMap,
#campaign .campaign-combat-actions > #gameLabAdminReset {
  min-height: 43px;
  color: #d9e0ff;
  background: rgba(22, 33, 62, .82);
}
#campaign #gameLabStatus { margin: 13px 2px 0; color: #bfc6e3; }

#campaign .campaign-play-sidebar { gap: 15px; }
#campaign .campaign-play-sidebar > .game-lab-resources { display: block; margin: 0; padding: 19px 20px; }
#campaign .game-lab-energy-block,
#campaign .game-lab-meter-block { padding: 0; border: 0; border-radius: 0; background: none; }
#campaign .campaign-side-eyebrow {
  display: flex;
  justify-content: space-between;
  margin-bottom: 11px;
  color: #acbaff;
}
#campaign .campaign-side-eyebrow span { color: var(--cx-gold); }
#campaign .game-lab-energy-block .meter-header,
#campaign .game-lab-meter-block .meter-header { align-items: baseline; color: #f0efff; font-size: 1.05rem; font-weight: 800; }
#campaign .game-lab-energy-block .meter-header strong,
#campaign .game-lab-meter-block .meter-header strong { color: var(--cx-gold); font-size: .97rem; text-align: right; }
#campaign .solo-energy-track,
#campaign .solo-chest-track { height: 16px; min-height: 16px; margin-top: 13px; border-radius: 999px; background: #09132d; }
#campaign .solo-energy-track > span,
#campaign .solo-chest-track > span { border-radius: inherit; }
#campaign .game-lab-energy-block .timer-line { margin: 12px 0 0; color: var(--cx-muted); font-size: .88rem; }
#campaign .game-lab-meter-block #gameLabOpenChest { width: 100%; margin-top: 14px; min-height: 45px; border-radius: 10px; }

#campaign .game-lab-missions-card { padding: 19px 20px; }
#campaign .game-lab-missions-card h2,
#campaign .game-lab-chest-rewards-card h2,
#campaign .campaign-world-map-card h2 { margin: 4px 0 0; color: #fff; font-size: clamp(1.35rem, 1.65vw, 1.95rem); letter-spacing: -.025em; }
#campaign .game-lab-missions-card .muted { margin: 10px 0 0; color: var(--cx-muted); font-size: .9rem; line-height: 1.45; }
#campaign .game-lab-missions-card .reward-pill,
#campaign .game-lab-chest-rewards-card .reward-pill,
#campaign .campaign-world-map-card .reward-pill { border-color: rgba(195, 176, 255, .31); color: #d4c9ff; background: rgba(162, 130, 238, .09); }
#campaign .game-lab-mission-grid { gap: 10px; margin-top: 18px; }
#campaign .game-lab-mission {
  grid-template-columns: minmax(0, 1fr) minmax(110px, .7fr) minmax(76px, .35fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(177, 170, 233, .16);
  border-radius: 13px;
  background: rgba(4, 13, 34, .58);
}
#campaign .game-lab-mission-copy strong { color: #f6f3ff; }
#campaign .game-lab-mission-copy span,
#campaign .game-lab-mission-copy em { color: #adb8d5; font-size: .84rem; }
#campaign .game-lab-mission.is-ready { border-color: rgba(129, 255, 209, .47); }
#campaign .game-lab-mission.is-claimed { opacity: 1; }
#campaign .game-lab-mission button { min-width: 0; border-radius: 9px; }

#campaign .game-lab-chest-rewards-card {
  padding: clamp(18px, 2vw, 30px);
  background:
    radial-gradient(circle at 86% 0%, rgba(143, 105, 231, .15), transparent 42%),
    linear-gradient(150deg, #172344, #0b172c);
}
#campaign .game-lab-chest-rewards-card > .section-heading { margin-bottom: 22px; }
#campaign .game-lab-chest-table { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
#campaign .game-lab-chest-reward {
  min-height: 136px;
  padding: 15px;
  border-color: rgba(194, 175, 255, .18);
  border-radius: 15px;
  background: rgba(5, 13, 34, .53);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
}
#campaign .game-lab-chest-icon { border-color: rgba(211, 193, 255, .18); background: rgba(134, 105, 194, .11); }
#campaign .game-lab-chest-copy > strong { color: #fff; }
#campaign .game-lab-chest-copy > p { color: #adb9d3; }
#campaign .campaign-world-map-card { padding: clamp(18px, 2vw, 30px); }
#campaign .campaign-world-map-card .muted { color: #b6c0dc; }
#campaign .campaign-world-map-scroll { margin-top: 19px; }
#campaign .campaign-treasure-map { border-radius: 16px; }

@media (max-width: 1450px) {
  #campaign .campaign-play-layout { grid-template-columns: minmax(0, 1.18fr) minmax(315px, .82fr); }
  #campaign .game-lab-mission { grid-template-columns: minmax(0, 1fr) minmax(72px, .3fr); }
  #campaign .game-lab-mission-progress { grid-column: 1 / -1; }
}
@media (max-width: 1100px) {
  #campaign .campaign-play-layout { grid-template-columns: 1fr; }
  #campaign .campaign-play-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  #campaign .game-lab-missions-card { grid-row: span 2; }
  #campaign .game-lab-chest-table { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  #campaign .campaign-expedition-hero { grid-template-columns: 1fr; min-height: 0; gap: 13px; padding: 17px 14px; border-radius: 16px; }
  #campaign .campaign-expedition-hero::before { background-position: center, center, 57% center; }
  #campaign .campaign-expedition-hero h1 { margin-top: 7px; font-size: clamp(1.75rem, 7vw, 2.2rem); }
  #campaign .campaign-mode-jumps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  #campaign .campaign-mode-jumps .dashboard-play-tab { min-height: 52px; padding: 7px 10px; }
  #campaign .campaign-play-sidebar { grid-template-columns: 1fr; }
  #campaign .game-lab-missions-card { grid-row: auto; }
  #campaign .game-lab-fight { padding: 14px; }
  #campaign .game-lab-fight > .section-heading { align-items: start; }
  #campaign .game-lab-fight h2 { font-size: clamp(1.55rem, 6.2vw, 2.2rem); }
  #campaign .solo-arena { min-height: clamp(310px, 85vw, 470px); padding: 15px; background-position: center bottom, center bottom, center; }
  #campaign .campaign-combat-actions > .custom-energy-action { grid-template-columns: minmax(80px, .35fr) minmax(0, 1fr); }
  #campaign .game-lab-chest-table { grid-template-columns: 1fr; }
  #campaign .game-lab-mission { grid-template-columns: minmax(0, 1fr) minmax(86px, .35fr); }
}
@media (max-width: 440px) {
  #campaign .campaign-fight-topline { font-size: .62rem; letter-spacing: .1em; }
  #campaign .game-lab-fight > .section-heading { display: grid; }
  #campaign .game-lab-fight #gameLabStage { justify-self: start; text-align: left; }
  #campaign .campaign-combat-actions { grid-template-columns: 1fr; }
  #campaign .campaign-combat-actions > .custom-energy-action { grid-column: 1; }
  #campaign .campaign-combat-actions > button { grid-column: 1; }
}
