/* Result actions never scroll away. The optional record has its own scroller. */
#victoryOverlay { padding: 16px; overflow: hidden; }
#victoryOverlay .victoryPanel {
  display: flex; flex-direction: column; align-items: stretch;
  width: min(610px, 100%); height: min(760px, 100%); max-height: 100%; min-height: 0;
  gap: 0; padding: 0; text-align: left;
}
#victoryOverlay .victoryPanel::before, #victoryOverlay .victoryPanel::after { display: none; }
#victoryOverlay .victoryButtons {
  flex: 0 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px; padding: 12px; margin: 0; border-bottom: 1px solid var(--line); background: #202b22;
}
#victoryOverlay .victoryButtons button { min-width: 0; min-height: 44px; padding: 8px; }
.campaignResultBody { flex: 1 1 auto; min-height: 0; padding: 20px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; overflow-wrap: anywhere; }
#victoryOverlay h2 { font-size: clamp(26px, 4vw, 38px); line-height: 1.12; margin: 8px 0 12px; }
#victoryOverlay #victoryText { font-size: .9rem; line-height: 1.45; margin: 0 0 16px; }
#victoryOverlay .victoryStage { margin: 0 auto 12px; }
#victoryOverlay:not(.celebrate) .victoryStage { display: none; }
#victoryOverlay:not(.celebrate) .victoryPanel { animation: none; box-shadow: 0 18px 50px #0008; border-color: #75857c; }
#victoryOverlay .victoryStats { margin-block: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
#victoryOverlay .victoryStats > div { min-width: 0; }
#victoryOverlay .victoryStats strong { font-size: 1.2rem; }
.campaignDebrief h3 { font-size: 1rem; margin: 0 0 8px; color: #f0d685; }
.campaignDebrief p { margin: 8px 0; font-size: .86rem; line-height: 1.45; }
.campaignDebrief small, #campaignResultNote { display: block; color: #bcc6b6; font-size: .73rem; line-height: 1.4; }
#campaignResultNote { margin: 10px 0 0; }
.campaignLesson { margin-top: 16px; padding: 14px; background: #17231c; border-left: 3px solid #afbc98; }
.campaignGeography { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 8px; }
.campaignGeography summary { cursor: pointer; min-height: 44px; padding: 10px 0; font-weight: 700; }
.campaignGeography .countryFacts { margin-bottom: 0; }
.campaignCommander { display: flex; align-items: center; gap: 10px; margin-block: 12px; }
.campaignCommander select { min-width: 0; flex: 1; min-height: 44px; }
#campaignResultStatus:empty { display: none; }
#campaignResultStatus { margin: 0; padding: 8px 12px; color: #f0d685; }
@media (max-width: 640px), (pointer: coarse) {
  #victoryOverlay { inset: 0; z-index: 80; padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); }
  #victoryOverlay .victoryButtons { gap: 6px; padding: 8px; }
  #victoryOverlay .victoryButtons button { font-size: .82rem; }
  .campaignResultBody { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  #victoryOverlay *, #victoryOverlay *::before, #victoryOverlay *::after { animation: none !important; }
}
