  /* ============ result.css: リザルト画面(勝利/敗北バナー・経験値/収穫の演出) ============ */
  /* 勝利/敗北の告知バナー。同じ入れ物を使い回すが、victory/defeatで背景・文字色・尺・動きを
     完全に分ける(ユーザー指定: 演出/色/SEを勝敗で共有しない)。z-indexは汎用確認モーダル(80)より
     さらに前面(96)にして、戦闘画面のどの要素よりも必ず上に出るようにしている */
  .result-banner-overlay {
    position: fixed; inset: 0; z-index: 96; display: flex; align-items: center; justify-content: center;
    pointer-events: none; transition: background 0.3s ease-out;
  }
  .result-banner-overlay.victory { background: rgba(24,18,6,0.32); }
  .result-banner-overlay.defeat { background: rgba(4,4,5,0.95); }
  .result-banner-text { font-weight: 900; letter-spacing: 0.2em; opacity: 0; }
  .result-banner-text.victory {
    font-size: 2.6rem; color: var(--dw-gold, #d7b66f);
    text-shadow: 0 0 24px rgba(215,182,111,0.55), 0 4px 10px rgba(0,0,0,0.7);
    animation: victoryBannerPop 550ms cubic-bezier(0.2,0.9,0.3,1) forwards;
  }
  @keyframes victoryBannerPop {
    0% { opacity: 0; transform: scale(1.5); }
    35% { opacity: 1; transform: scale(0.94); }
    50% { transform: scale(1.03); }
    65%, 82% { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(1); }
  }
  .result-banner-text.defeat {
    font-size: 2rem; color: #8f8b85; letter-spacing: 0.4em;
    text-shadow: 0 4px 14px rgba(0,0,0,0.8);
    animation: defeatBannerFade 2300ms ease-in-out forwards;
  }
  @keyframes defeatBannerFade {
    0% { opacity: 0; transform: translateY(6px); }
    25%, 78% { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(0); }
  }
  /* リザルト画面: 収穫/経験値を一気に出さず、順番にふわっと浮かび上がらせる */
  .result-fade { opacity: 0; transform: translateY(6px); transition: opacity 0.3s ease-out, transform 0.3s ease-out; }
  .result-fade.reveal-in { opacity: 1; transform: translateY(0); }
  .result-xp-row { opacity: 0; transform: translateY(6px); transition: opacity 0.3s ease-out, transform 0.3s ease-out; }
  .result-xp-row.reveal-in { opacity: 1; transform: translateY(0); }
  /* 敗北時のリザルト画面: 金色の祝祭感を消し、彩度を落とした配色に切り替える */
  #screen-result.is-defeat #resultGold { color: var(--dw-caption-color, #b6b0a2) !important; }
  #screen-result.is-defeat #resultHeroTitle { color: #cfc9bd; }
