.results-endgame-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid rgba(139, 232, 255, 0.16);
  border-radius: var(--radius);
  background: linear-gradient(100deg, rgba(8, 29, 40, 0.8), rgba(8, 20, 28, 0.58));
}

.results-endgame-cta strong { display: block; margin-top: 4px; font-size: 1rem; }
.results-endgame-cta .kicker { margin: 0; }
.endgame-preview-badge { min-width: 148px; }
.endgame-preview-badge strong { color: var(--gold); }
.endgame-early-warning { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 18px; padding: 12px 14px; border: 1px solid rgba(255, 107, 107, .58); border-left: 4px solid #ff7272; border-radius: 9px; background: linear-gradient(100deg, rgba(72, 18, 25, .42), rgba(33, 17, 25, .28)); color: #ffd7d7; }
.endgame-early-warning p { margin: 0; color: #f2c4c4; font-size: .82rem; line-height: 1.45; }
.endgame-early-warning strong { margin-right: 5px; color: #ff9b9b; }
.endgame-early-warning a { color: #ffd0d0; font-weight: 800; text-underline-offset: 3px; }
.endgame-warning-icon { display: grid; place-items: center; flex: 0 0 24px; width: 24px; height: 24px; border: 1px solid rgba(255, 153, 153, .8); border-radius: 50%; color: #fff0f0; background: rgba(198, 48, 62, .62); font-weight: 900; }
.endgame-section { scroll-margin-top: 92px; }
.endgame-planner-shell {
  border: 1px solid rgba(139, 232, 255, 0.22);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(10, 31, 43, 0.96), rgba(5, 18, 27, 0.92));
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

.endgame-planner-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding: 20px; border-bottom: 1px solid rgba(139, 232, 255, 0.14); background: rgba(2, 12, 18, 0.28); }
.endgame-control-label { display: block; margin-bottom: 10px; color: var(--muted); font-size: .73rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.endgame-mode-list { display: flex; flex-wrap: wrap; gap: 7px; }
.endgame-mode-button, .endgame-size-button { border: 1px solid rgba(139, 232, 255, 0.18); border-radius: 999px; color: var(--soft); background: rgba(4, 17, 25, 0.72); cursor: pointer; transition: 160ms ease; }
.endgame-mode-button { padding: 9px 12px; font-size: .86rem; }
.endgame-size-list { display: flex; flex-wrap: wrap; gap: 7px; }
.endgame-size-button { width: 42px; height: 38px; font-weight: 800; }
.endgame-mode-button:hover, .endgame-size-button:hover:not(:disabled), .endgame-mode-button.is-active, .endgame-size-button.is-active { border-color: rgba(255, 215, 122, .7); color: #071017; background: linear-gradient(135deg, #aafaff, #ffd77a); box-shadow: 0 0 18px rgba(120, 244, 255, .12); }
.endgame-size-button:disabled { cursor: not-allowed; opacity: .3; }
.endgame-size-button.is-beyond-roster:not(.is-active) { border-style: dashed; border-color: rgba(255, 215, 122, .45); color: var(--muted); }

.endgame-plan-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 18px; padding: 22px 20px 16px; }
.endgame-plan-intro h3 { margin: 5px 0 5px; font-size: clamp(1.25rem, 2.3vw, 1.8rem); }
.endgame-plan-intro p { margin: 0; color: var(--muted); }
.endgame-plan-rule { display: flex; gap: 11px; align-items: flex-start; padding: 14px; border: 1px solid rgba(165, 230, 204, .25); border-radius: 9px; background: rgba(165, 230, 204, .055); }
.endgame-rule-icon { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; border-radius: 50%; color: #071017; background: var(--green); font-weight: 900; }
.endgame-plan-rule strong, .endgame-plan-rule small { display: block; }
.endgame-plan-rule small { margin-top: 3px; color: var(--muted); line-height: 1.45; }
.endgame-mode-note { display: flex; gap: 12px; margin: 0 20px 18px; padding: 12px 14px; border-left: 3px solid var(--gold); background: rgba(255, 215, 122, .06); color: var(--soft); }
.endgame-mode-note strong { color: var(--gold); white-space: nowrap; }
.endgame-mode-note span { color: var(--muted); }
.endgame-mechanics { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 20px 18px; }
.endgame-mechanics span { display: inline-flex; align-items: center; gap: 7px; min-height: 30px; padding: 5px 9px; border: 1px solid rgba(139,232,255,.16); border-radius: 999px; color: var(--soft); background: rgba(4,17,25,.48); font-size: .74rem; font-weight: 700; }
.endgame-mechanics i { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #071017; background: var(--teal); font-size: .65rem; font-style: normal; font-weight: 900; }
.endgame-conditions { margin: 0 20px 18px; padding: 12px 14px; border: 1px solid rgba(255,215,122,.2); border-radius: 9px; background: rgba(255,215,122,.045); }
.endgame-conditions-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }.endgame-conditions-heading .kicker { margin: 0; color: var(--gold); }.endgame-conditions-heading strong { color: var(--soft); font-size: .78rem; }
.endgame-conditions-list { display: flex; flex-wrap: wrap; gap: 6px 14px; }.endgame-conditions-list span { color: var(--muted); font-size: .75rem; line-height: 1.4; }.endgame-conditions-list span::before { content: "•"; margin-right: 6px; color: var(--gold); }
.endgame-data-stamp { margin-top: 9px; color: var(--muted); font-size: .68rem; }
.endgame-plan-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, .75fr); gap: 16px; padding: 0 20px 20px; }
.endgame-team-stack, .endgame-reserve-panel { min-width: 0; }
.endgame-subheading { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.endgame-subheading h4 { margin: 2px 0 0; font-size: 1rem; }
.endgame-subheading > span { color: var(--muted); font-size: .78rem; }
.endgame-team-card { margin-top: 10px; padding: 15px; border: 1px solid rgba(139, 232, 255, .14); border-radius: 9px; background: rgba(3, 16, 24, .64); }
.endgame-team-card.is-primary { border-color: rgba(255, 215, 122, .48); box-shadow: inset 3px 0 0 var(--gold); }
.endgame-team-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.endgame-team-card header > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.endgame-team-number { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border: 1px solid rgba(120,244,255,.35); border-radius: 50%; color: var(--teal); font-size: .75rem; font-weight: 900; }
.endgame-team-card h4 { margin: 3px 0 0; font-size: 1rem; }
.endgame-team-status { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 999px; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.endgame-team-status.verified { color: #072016; background: var(--green); }.endgame-team-status.strong { color: #061927; background: var(--blue); }.endgame-team-status.alternative { color: #271c06; background: var(--gold); }
.endgame-member-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 13px; }
.endgame-member, .endgame-reserve-person { display: flex; align-items: center; gap: 8px; min-width: 0; border: 1px solid rgba(139,232,255,.13); border-radius: 7px; background: rgba(8, 28, 39, .74); text-decoration: none; }
.endgame-member { padding: 7px; }.endgame-member:hover, .endgame-reserve-person:hover { border-color: rgba(120,244,255,.48); background: rgba(120,244,255,.08); }
.endgame-member img { width: 42px; height: 42px; flex: 0 0 42px; object-fit: cover; object-position: center 28%; border-radius: 5px; }.endgame-member span, .endgame-reserve-person span { min-width: 0; }.endgame-member small, .endgame-member strong, .endgame-reserve-person small, .endgame-reserve-person strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.endgame-member small, .endgame-reserve-person small { color: var(--gold); font-size: .63rem; font-weight: 800; text-transform: uppercase; }.endgame-member strong, .endgame-reserve-person strong { color: var(--text); font-size: .78rem; }.endgame-vigor-badge { display: block; margin-top: 3px; color: var(--muted); font-size: .62rem; font-style: normal; font-weight: 700; }
.endgame-team-meta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; padding-top: 9px; border-top: 1px solid rgba(139,232,255,.1); color: var(--muted); font-size: .75rem; }.endgame-team-meta b { margin-right: 5px; color: var(--soft); }.endgame-team-note { margin: 9px 0 0; color: var(--muted); font-size: .79rem; line-height: 1.45; }
.endgame-team-sequence-note { margin: 8px 0 0; padding: 7px 10px; border-left: 2px solid var(--gold); color: var(--gold); font-size: .74rem; font-weight: 700; line-height: 1.4; background: rgba(255,215,122,.06); }
.endgame-reserve-panel { padding: 15px; border: 1px solid rgba(139,232,255,.14); border-radius: 9px; background: rgba(3,16,24,.5); }.endgame-reserve-copy { margin: 0 0 12px; color: var(--muted); font-size: .79rem; line-height: 1.48; }.endgame-reserve-list { display: grid; gap: 7px; }.endgame-reserve-person { padding: 7px; }.endgame-reserve-person img { width: 35px; height: 35px; flex: 0 0 35px; object-fit: cover; object-position: center 28%; border-radius: 5px; }.endgame-empty-reserve { color: var(--muted); font-size: .8rem; }.endgame-checklist { display: grid; gap: 7px; margin-top: 16px; padding-top: 13px; border-top: 1px solid rgba(139,232,255,.12); color: var(--muted); font-size: .77rem; }.endgame-checklist i { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 5px; border-radius: 50%; color: #071017; background: var(--green); font-style: normal; font-weight: 900; }
.endgame-planner-footer { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-top: 1px solid rgba(139,232,255,.14); background: rgba(2,10,16,.42); }.endgame-planner-footer > span { flex: 1; color: var(--muted); font-size: .78rem; }.endgame-planner-footer strong { color: var(--soft); }
.endgame-empty-state { display: grid; gap: 7px; margin-top: 10px; padding: 22px; border: 1px dashed rgba(255,215,122,.34); border-radius: 9px; background: rgba(255,215,122,.045); }.endgame-empty-state strong { color: var(--soft); }.endgame-empty-state span { color: var(--muted); font-size: .82rem; line-height: 1.45; }.endgame-empty-state .button { width: fit-content; margin-top: 5px; }
.endgame-capacity-note { display: grid; gap: 3px; margin-bottom: 10px; padding: 11px 13px; border: 1px solid rgba(255,215,122,.28); border-left: 3px solid var(--gold); border-radius: 7px; background: rgba(255,215,122,.05); }.endgame-capacity-note strong { color: var(--soft); font-size: .82rem; }.endgame-capacity-note span { color: var(--muted); font-size: .78rem; line-height: 1.45; }
.endgame-reserve-more { margin: 8px 0 0; color: var(--muted); font-size: .74rem; }
.endgame-planner-shell--empty { padding: 22px; }
.endgame-empty-planner { display: grid; gap: 9px; max-width: 760px; padding: 28px; border: 1px solid rgba(255, 215, 122, .34); border-radius: 11px; background: linear-gradient(135deg, rgba(255, 215, 122, .07), rgba(4, 22, 31, .72)); }
.endgame-empty-planner h3 { margin: 0; color: var(--soft); font-size: clamp(1.2rem, 2vw, 1.55rem); }
.endgame-empty-planner p { max-width: 650px; margin: 0; color: var(--muted); line-height: 1.55; }
.endgame-empty-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 6px; }
.endgame-empty-actions .button { width: fit-content; }

@media (max-width: 760px) {
  .endgame-early-warning { margin-bottom: 14px; padding: 11px 12px; }
  .results-endgame-cta, .endgame-planner-footer { align-items: stretch; flex-direction: column; }
  .endgame-planner-controls, .endgame-plan-intro, .endgame-plan-grid { grid-template-columns: 1fr; }
  .endgame-planner-controls { gap: 16px; padding: 16px; }.endgame-plan-intro, .endgame-plan-grid { padding-inline: 16px; }.endgame-mode-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.endgame-mode-button { min-height: 42px; }.endgame-mode-note { margin-inline: 16px; align-items: flex-start; flex-direction: column; gap: 3px; }.endgame-mechanics, .endgame-conditions { margin-inline: 16px; }.endgame-mechanics span { flex: 1 1 calc(50% - 8px); }.endgame-conditions-heading { align-items: flex-start; flex-direction: column; gap: 3px; }.endgame-member-row { grid-template-columns: 1fr; }.endgame-member { min-height: 56px; }.endgame-team-meta { display: grid; gap: 5px; }.endgame-planner-footer { padding-inline: 16px; }.endgame-planner-footer .button { width: 100%; justify-content: center; }
}
/* Accuracy-overhaul controls: the ledger is intentionally visible so a
   recommendation cannot look like a committed in-game assignment. */
.endgame-planner select,
.endgame-resource-panel input {
  min-height: 2.35rem;
  border: 1px solid rgba(139, 232, 255, 0.2);
  border-radius: 0.55rem;
  background: rgba(2, 12, 18, 0.72);
  color: var(--text);
  padding: 0.35rem 0.55rem;
  color-scheme: dark;
}

.endgame-planner select option {
  background: #061827;
  color: var(--text);
}

.endgame-assignment-controls,
.endgame-plan-actions,
.endgame-confidence-line,
.endgame-candidate-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}

.endgame-assignment-controls {
  border-top: 1px solid rgba(139, 232, 255, 0.12);
  margin-top: 0.8rem;
  padding-top: 0.8rem;
}

.endgame-assignment-controls label,
.endgame-resource-grid label {
  display: grid;
  gap: 0.25rem;
  color: var(--muted, #756e66);
  font-size: 0.76rem;
}

.endgame-legality,
.endgame-confidence-line span {
  display: inline-flex;
  border-radius: 999px;
  padding: 0.28rem 0.55rem;
  font-size: 0.72rem;
  line-height: 1.2;
}

.endgame-legality.is-valid { border: 1px solid rgba(165, 230, 204, 0.22); background: rgba(165, 230, 204, 0.14); color: var(--green); }
.endgame-legality.is-invalid { border: 1px solid rgba(255, 178, 166, 0.25); background: rgba(255, 107, 107, 0.12); color: #ffb2a6; }
.endgame-team-card.is-invalid { border-color: rgba(255, 114, 114, 0.62); }
.endgame-team-card.is-preview { border-style: dashed; }
.endgame-confidence-line span { border: 1px solid rgba(139, 232, 255, 0.14); background: rgba(8, 28, 39, 0.74); color: var(--soft); }

.endgame-exclusion-reasons {
  color: #ffb2a6;
  font-size: 0.82rem;
}

.endgame-resource-panel,
.endgame-candidate-pool {
  border: 1px solid rgba(139, 232, 255, 0.18);
  border-radius: 0.9rem;
  background: rgba(7, 20, 29, 0.82);
  color: var(--soft);
  padding: 0.9rem;
  margin: 1rem 0;
}

.endgame-resource-panel summary {
  cursor: pointer;
  color: var(--soft);
  font-weight: 700;
}

.endgame-forecast-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.endgame-forecast-heading h4 { margin: 2px 0 0; color: var(--text); font-size: 1rem; }
.endgame-forecast-heading > span { color: var(--muted); font-size: .76rem; }
.endgame-forecast-metrics { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; }
.endgame-forecast-metrics span { display: grid; gap: 2px; color: var(--soft); font-size: .78rem; }
.endgame-forecast-metrics b { color: var(--gold); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.endgame-advanced-resource { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgba(139, 232, 255, .12); }
.endgame-advanced-resource summary { color: var(--muted); font-size: .76rem; }
.endgame-advanced-resource p { margin-bottom: 12px; }

.endgame-resource-panel p,
.endgame-candidate-pool p {
  color: var(--muted, #756e66);
  font-size: 0.84rem;
}

.endgame-resource-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 0.7rem;
}

.endgame-resource-grid input { width: 100%; }
.endgame-resource-grid small { color: var(--muted, #756e66); }
.endgame-resource-grid input:focus,
.endgame-planner select:focus {
  border-color: rgba(120, 244, 255, 0.7);
  outline: 2px solid rgba(120, 244, 255, 0.16);
  outline-offset: 1px;
}

.endgame-candidate-button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.7rem;
  flex: 1 1 14rem;
  text-align: left;
  border: 1px solid rgba(139, 232, 255, 0.16);
  border-radius: 0.7rem;
  background: rgba(8, 28, 39, 0.74);
  color: var(--text);
  padding: 0.7rem;
  cursor: pointer;
}

.endgame-candidate-portraits { display: flex; align-items: center; padding-left: 3px; }
.endgame-candidate-portraits img { width: 34px; height: 34px; flex: 0 0 34px; margin-left: -3px; object-fit: cover; object-position: center 28%; border: 2px solid rgba(3, 16, 24, .92); border-radius: 50%; }
.endgame-candidate-copy { display: grid; min-width: 0; gap: 0.2rem; }
.endgame-candidate-copy strong { overflow: hidden; color: var(--text); text-overflow: ellipsis; white-space: nowrap; }
.endgame-candidate-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.endgame-candidate-action { color: var(--teal); font-size: .68rem; font-style: normal; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.endgame-candidate-button:hover,
.endgame-candidate-button:focus-visible { border-color: rgba(120, 244, 255, 0.62); background: rgba(120, 244, 255, 0.08); }
.endgame-candidate-button small { color: var(--muted, #756e66); }

.endgame-control-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 13px 0 2px; }
.endgame-control-summary span { display: grid; gap: 2px; padding: 8px 9px; border: 1px solid rgba(139, 232, 255, .12); border-radius: 7px; color: var(--soft); background: rgba(8, 28, 39, .52); font-size: .76rem; }
.endgame-control-summary b { color: var(--gold); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.endgame-plan-actions--controls { display: grid; grid-template-columns: 1fr; align-items: stretch; margin-top: 14px; }
.endgame-plan-actions--controls .button { width: 100%; justify-content: center; }
.endgame-plan-actions--controls .button:disabled,
.endgame-reset-menu .button:disabled { cursor: not-allowed; opacity: .38; }
.endgame-reset-menu { margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(139, 232, 255, .12); }
.endgame-reset-menu summary { color: var(--muted); cursor: pointer; font-size: .74rem; font-weight: 800; }
.endgame-reset-menu .button { width: 100%; justify-content: center; margin-top: 8px; }
.endgame-reset-button--danger { border-color: rgba(255, 178, 166, .35); color: #ffb2a6; }
