/* Fixed-height summary, independently scrolling report: actions stay reachable. */
.result-screen { padding: 14px 36px; justify-content: center; background: radial-gradient(ellipse at 50% 15%, #365f5d, #142d31); }
.battle-result { width: 100%; height: 100%; max-height: 332px; display: flex; flex-direction: column; overflow: hidden; border: 2px solid #dab873; border-radius: 13px; background: #fbf0d5; color: #263f42; box-shadow: 0 5px 0 #10282c, 0 0 45px #d8bb5330; }
.result-heading { flex: 0 0 63px; display: flex; align-items: center; justify-content: space-between; padding: 9px 20px 8px; border-bottom: 1px solid #d7c59e; background: #fff8e6; }
.result-eyebrow { display: block; color: #947031; font-size: 8px; letter-spacing: 2px; margin-bottom: 3px; }
.result-heading h2 { margin: 0; font-size: 23px; color: #28716a; line-height: 1.1; }
.is-defeat .result-heading h2 { font-size: 20px; color: #98634c; }
.result-heading p { margin: 0; font-size: 10px; text-align: right; line-height: 1.7; }
.result-heading p span { color: #7f8477; font-size: 9px; }
.result-overview { flex: 1; min-height: 0; display: grid; grid-template-columns: 146px 1fr; gap: 14px; padding: 12px 18px; }
.result-guardian { display: flex; align-items: center; justify-content: center; flex-direction: column; background: radial-gradient(ellipse at 50% 40%, #fffdf2, #d8e5ca); border: 1px solid #b3c4a4; border-radius: 9px; overflow: hidden; }
.result-guardian img { width: 112px; height: 128px; object-fit: contain; image-rendering: auto; filter: drop-shadow(0 4px 2px #35524b35); }
.result-guardian b { font-size: 12px; margin-top: 1px; }
.result-guardian span { font-size: 8px; margin: 4px 0; color: #627565; }
.result-summary { display: flex; flex-direction: column; min-width: 0; justify-content: center; }
.result-key-stats { display: grid; grid-template-columns: repeat(3, 1fr); padding-bottom: 10px; border-bottom: 1px solid #d9c9a7; }
.result-key-stats > div { display: flex; flex-direction: column; gap: 6px; padding-left: 10px; border-left: 1px solid #dfcfaf; }
.result-key-stats > div:first-child { border-left: 0; padding-left: 0; }
.result-key-stats span { color: #747b6a; font-size: 9px; }
.result-key-stats b { font-size: 17px; color: #2e5755; }
.result-key-stats small { font-size: 10px; color: #92977e; }
.battle-result h3 { font-size: 10px; color: #7b6e51; margin: 10px 0 6px; }
.result-rewards { display: flex; gap: 8px; align-items: stretch; }
.result-rewards > div { flex: 1; display: flex; gap: 5px; align-items: center; padding: 7px; background: #fffaf0; border: 1px solid #e3c88a; border-radius: 7px; }
.result-rewards img { width: 22px; height: 22px; object-fit: contain; }
.result-rewards span { display: flex; flex-direction: column; gap: 5px; font-size: 8px; color: #88794f; }
.result-rewards b { font-size: 12px; color: #665022; }
.result-secondary { display: flex; align-items: center; gap: 6px; margin-top: 10px; }
.battle-result .btn { border-radius: 7px; min-height: 30px; justify-content: center; font-size: 10px; background: #ede0be; color: #5c624d; border-color: #baa97e; box-shadow: 0 2px 0 #b6a578; }
.result-secondary .btn { flex: 1; min-height: 28px; padding: 3px 6px; font-size: 9px; }
.result-bonus-done { flex: 1; text-align: center; color: #437c54; font-size: 9px; }
.result-actions { flex: 0 0 49px; display: flex; align-items: center; justify-content: center; gap: 10px; border-top: 1px solid #d9c7a3; background: #f5e9ca; padding: 7px 16px 9px; }
.result-actions .btn { min-width: 130px; }
.battle-result .btn.primary { background: #367d72; border-color: #245e57; color: #fff9df; box-shadow: 0 2px 0 #1d4e49; }
.battle-result .btn:hover:not(:disabled) { filter: brightness(1.07); }
.result-report { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 18px; padding: 3px 18px 15px; scrollbar-width: thin; scrollbar-color: #bdac80 #ede0be; }
.report-column { min-width: 0; }
.result-report dl { margin: 0; font-size: 9px; }
.result-report dl > div { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; border-bottom: 1px solid #e2d5b8; }
.result-report dt { color: #777d6b; }
.result-report dd { margin: 0; text-align: right; }
.report-damage { display: grid; grid-template-columns: 65px 1fr 37px; gap: 5px; align-items: center; margin: 6px 0; font-size: 9px; }
.report-damage b { text-align: right; font-size: 8px; }
.report-damage .bar { background: #ddcfac; border: 0; border-radius: 4px; height: 6px; }
.report-damage .bar i { display: block; height: 100%; background: #4d9a85; border-radius: 4px; }
.result-report .chips { gap: 4px; }
.result-report .chip { background: #e6dec5; border-color: #c7ba96; color: #51685a; border-radius: 4px; font-size: 8px; padding: 4px; white-space: normal; }
.result-report .dim, .report-settlement { color: #7c806c; font-size: 9px; line-height: 1.6; }
.report-settlement p { margin: 3px 0; }
