.difficulty-picker{border:1px solid #51645d;padding:14px;margin:16px 0;background:#102126}
.difficulty-picker legend{padding:0 8px;color:#e2c895}.difficulty-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.main-menu-panel .difficulty-choice{text-align:left;padding:12px}.difficulty-choice strong,.difficulty-choice small{display:block}
.difficulty-choice small{margin-top:6px;font-size:10px;line-height:1.4;color:#b9c9c9}.difficulty-choice[aria-pressed="true"]{border-color:#f0c581;background:#3b392c}
.stage-treat{padding:16px;margin:10px 0 18px;border:1px solid #d5b875;background:linear-gradient(100deg,#51432c,#142c2c);color:#ffe4a2;text-align:center;font-weight:900;font-size:24px;letter-spacing:.15em}
.victory-confetti{position:absolute!important;inset:0;overflow:hidden;pointer-events:none;z-index:3!important}
.victory-confetti i{position:absolute;left:var(--x);top:-12px;width:6px;height:11px;background:var(--color);animation:confetti-fall 4s var(--delay) ease-in forwards;opacity:0}
@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(var(--turn))}85%{opacity:.8}100%{opacity:0;transform:translateY(700px) rotate(calc(var(--turn) + 540deg))}}
.firework{position:absolute;left:22%;top:140px;width:5px;height:5px;border-radius:50%;color:#edc37f;box-shadow:0 -42px,30px -30px,42px 0,30px 30px,0 42px,-30px 30px,-42px 0,-30px -30px;animation:firework-bloom 2s .15s ease-out 3 both}
.firework.two{left:77%;top:190px;color:#b5a0e2;animation-delay:.75s}.firework.three{left:51%;top:85px;color:#8ad8c1;animation-delay:1.25s}
@keyframes firework-bloom{0%{opacity:0;transform:scale(.15)}20%{opacity:.85}100%{opacity:0;transform:scale(1.6)}}
.quiet-treat{font-size:20px}
.build-list{grid-template-columns:repeat(4,minmax(0,1fr))}
[data-kind="ricochet"] .turret-card-art{background:none!important}
[data-kind="ricochet"] .turret-card-art:before{content:"↝";display:block;border:2px solid #b697d7;background:#342a46;border-radius:50%;width:35px;height:35px;line-height:30px;text-align:center;font-size:29px;color:#e2c8ff;margin:8px}
.threat.runner i{background:#e5ae50}.threat.plated i{background:#ad86cb}.threat-preview{flex-wrap:wrap}
@media(max-width:700px){.difficulty-choices{grid-template-columns:1fr}.build-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-treat{font-size:17px}}
@media(prefers-reduced-motion:reduce){.victory-confetti{display:none}}
.reduced-menu-motion .victory-confetti{display:none}
.contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.formation-inspector{padding:10px;margin-bottom:9px;border:1px solid #6c9687;background:#142c2b;font-size:11px;line-height:1.5;color:#cadacf}
.formation-inspector:empty{display:none}.formation-inspector strong{display:block;color:#ecd3a0;font-size:12px}.formation-inspector p{margin:5px 0}
.formation-inspector button{width:100%;padding:7px;margin:5px 0;border:1px solid #8eac9c;background:#28413c;color:#e4ead6;font-size:11px;text-align:left;cursor:pointer}
.formation-inspector button:disabled{opacity:.5;cursor:not-allowed}.formation-progress{color:#a5e0cb}
.formation-preview{grid-column:1/-1;font-size:11px;line-height:1.4;margin:6px 0;padding:8px;border-left:2px dashed #d7c395;background:#172b2e;color:#dedcc5}
.main-menu-panel .contract-card{text-align:left;padding:16px;border:1px solid #647c78;background:linear-gradient(120deg,#203630,#17242e)}
.contract-card strong,.contract-card small{display:block}.contract-card strong{margin:8px 0;color:#eddbb1}.contract-card small{margin:8px 0 0;line-height:1.5;color:#c7d3ca;font-size:12px}
.contract-card[aria-pressed="true"]{border-color:#edc47e;box-shadow:inset 3px 0 #edc47e;background:#373a2a}
.contract-summary{padding:12px;border-left:3px solid #d9b479;background:#192f31;color:#d6dfcf;font-size:12px;line-height:1.5}
.contract-summary strong{color:#f0d69e}.contract-clear{padding:10px;border:1px solid #a08ab5;background:#302f43;color:#e5d4f5;font-size:12px}
.combat-payoff{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:4;pointer-events:none;max-width:calc(100% - 24px);width:max-content;padding:8px 18px;border:1px solid #c9aa70;background:#101e25ed;text-align:center;box-shadow:0 5px 15px #0007}
.combat-payoff strong,.combat-payoff span{display:block}.combat-payoff strong{font-size:clamp(13px,1.5vw,20px);letter-spacing:.1em;color:#f2d998}.combat-payoff span{font-size:11px;color:#d0d8d2;margin-top:4px}
.combat-payoff[data-kind="specialization"]{border-color:#bfa5d8}.combat-payoff[data-kind="specialization"] strong{color:#ddc4f7}
.combat-payoff[data-kind="armor"]{border-color:#9ba9c0}.combat-payoff[data-kind="armor"] strong{color:#d8e0ed}
.in-main-menu .combat-payoff,.showing-stage-clear .combat-payoff{display:none}
@media(max-width:600px){.contract-grid{grid-template-columns:1fr}.combat-payoff{top:6px;padding:6px 10px}.combat-payoff span{font-size:10px}}

/* Keep the completed field visible, in its combat layout, behind a compact card. */
.showing-stage-clear .overlay.open{padding:clamp(10px,2vw,24px);background:#05101738;backdrop-filter:none;z-index:10}
.overlay .stage-clear-panel{position:relative;width:min(510px,100%);min-height:0;max-height:100%;padding:clamp(14px,2vw,24px);scrollbar-gutter:stable;border-color:#bdab79;box-shadow:0 12px 40px #0009}
.stage-clear-panel .stage-treat{margin:0 0 12px;padding:10px;font-size:clamp(17px,2vw,23px)}
.stage-clear-panel h2{font-size:clamp(19px,2.4vw,26px);margin:0;text-align:center}
.stage-clear-panel .clear-result{margin:5px 0 14px;text-align:center;font-size:12px}
.stage-clear-panel .clear-research{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border:1px solid #658c7e;background:#1b3834}
.clear-research strong{font-size:20px;color:#aee5c8}.clear-research span{max-width:135px;font-size:11px;text-align:right}
.stage-clear-panel #continue-endless{font-size:12px;letter-spacing:.02em;background:linear-gradient(#355b4e,#203c34);border-color:#92c5a3}
.stage-clear-panel #endless-research-info{font-size:12px;line-height:1.5;margin:10px 0 16px}
#endless-research-info strong{display:block;margin-bottom:4px;color:#e8d8ad}
.clear-other-actions{display:flex;gap:8px;flex-wrap:wrap}.clear-other-actions button{flex:1;min-width:155px;padding:10px;color:#d8dfd6;background:#1b2c32;border:1px solid #6a7b7a;border-radius:3px;cursor:pointer;font-size:12px}
.stage-clear-panel #continue-campaign{margin:0}.clear-run-details{margin-top:14px;border-top:1px solid #52615b;padding-top:12px;font-size:12px}
.clear-run-details summary{cursor:pointer;color:#c5cdbb}.clear-run-details .workshop{grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px}
@media(max-width:500px){.clear-research strong{font-size:17px}.clear-other-actions button{min-width:120px}.stage-clear-panel .clear-research{padding:8px}}
