.result-header {
  position: absolute;
  left: calc(var(--u) * 40);
  right: calc(var(--u) * 40);
  top: calc(var(--u) * 64);
  height: calc(var(--u) * 150);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(var(--u) * 8);
  animation: result-slam 520ms cubic-bezier(0.2, 1.5, 0.4, 1) backwards;
}
.result-title { font-size: calc(var(--u) * 76); line-height: 1; white-space: nowrap; }
.result-sub {
  font-size: calc(var(--u) * 26);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #e9d6a0;
}
.scene-result[data-outcome="lost"] .result-title {
  background: linear-gradient(180deg, #ffe0d6 0%, #f08a6e 45%, #b8412b 60%, #e86f52 85%, #7a2415 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.result-body {
  position: absolute;
  left: calc(var(--u) * 40);
  right: calc(var(--u) * 40);
  top: calc(var(--u) * 226);
  bottom: calc(var(--u) * 196);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--u) * 20);
}
.result-hero {
  flex: 1 1 0;
  min-height: calc(var(--u) * 150);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--u) * 24);
}
.result-card {
  height: 100%;
  max-height: calc(var(--u) * 330);
  aspect-ratio: 0.71;
  flex: none;
  animation: result-card 560ms 120ms cubic-bezier(0.2, 1.4, 0.4, 1) backwards;
}
.scene-result[data-outcome="won"] .result-card {
  box-shadow: 0 0 0 calc(var(--u) * 3) var(--gold), 0 0 calc(var(--u) * 40) calc(var(--u) * 10) rgba(242, 182, 50, 0.55);
}
.result-card .bp-card-name { font-size: calc(var(--u) * 22); }
.result-taunt {
  position: relative;
  max-width: calc(var(--u) * 330);
  margin: 0;
  padding: calc(var(--u) * 18) calc(var(--u) * 22);
  border-radius: calc(var(--u) * 22);
  background: #fff4d8;
  color: #1a1405;
  font-size: calc(var(--u) * 24);
  font-weight: 700;
  font-style: italic;
  line-height: 1.3;
  text-align: left;
  box-shadow: 0 calc(var(--u) * 8) calc(var(--u) * 20) rgba(0, 0, 0, 0.5);
  animation: result-card 500ms 420ms cubic-bezier(0.2, 1.4, 0.4, 1) backwards;
}
.result-taunt::before {
  content: "";
  position: absolute;
  left: calc(var(--u) * -14);
  top: 40%;
  border: calc(var(--u) * 14) solid transparent;
  border-right-color: #fff4d8;
  border-left: 0;
}

.result-panel {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: calc(var(--u) * 10);
  padding: calc(var(--u) * 16) calc(var(--u) * 26);
  animation: result-rise 460ms 200ms ease-out backwards;
}
.result-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: calc(var(--u) * 16);
  padding: calc(var(--u) * 4) 0;
  font-size: calc(var(--u) * 26);
  color: #efe4c4;
}
.result-row + .result-row { border-top: calc(var(--u) * 1) solid rgba(242, 193, 78, 0.18); }
.result-row span { min-width: 0; }
.result-row b { font-family: var(--display); color: #fff4d0; font-variant-numeric: tabular-nums; }
.result-total { font-size: calc(var(--u) * 28); text-transform: uppercase; font-weight: 800; }
.result-total b { color: var(--gold); font-size: calc(var(--u) * 40); }
.result-newbest {
  margin: 0 auto;
  width: fit-content;
  padding: calc(var(--u) * 4) calc(var(--u) * 20);
  border-radius: 999px;
  font-family: var(--display);
  font-size: calc(var(--u) * 22);
  text-transform: uppercase;
  color: #1a1102;
  background: linear-gradient(180deg, #fff1b5, #e2a72e);
  box-shadow: 0 0 calc(var(--u) * 24) rgba(242, 182, 50, 0.8);
  animation: result-pop 900ms ease-in-out infinite alternate;
}
.result-growth { display: flex; flex-direction: column; gap: calc(var(--u) * 10); }
.result-xp { display: flex; align-items: center; gap: calc(var(--u) * 14); font-size: calc(var(--u) * 22); }
.result-xp-bar {
  position: relative;
  flex: 1;
  height: calc(var(--u) * 18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 0 calc(var(--u) * 2) rgba(242, 193, 78, 0.3);
  overflow: hidden;
}
.result-xp-bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--v, 0) * 100%); border-radius: inherit; background: linear-gradient(90deg, #2fbf8a, #8ff0c4); }
.result-xp-text { font-family: var(--display); color: #fff4d0; white-space: nowrap; }
.result-levelup {
  font-family: var(--display);
  font-size: calc(var(--u) * 34);
  text-align: center;
  text-transform: uppercase;
  color: var(--gold);
  text-shadow: 0 0 calc(var(--u) * 18) rgba(242, 182, 50, 0.8), 0 calc(var(--u) * 3) 0 #3a2605;
  animation: result-pop 700ms ease-in-out infinite alternate;
}
.result-tip { display: flex; flex-direction: column; gap: calc(var(--u) * 4); font-size: calc(var(--u) * 26); color: #fff4d0; }
.result-tip b { font-size: calc(var(--u) * 18); letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); }
.result-line { font-size: calc(var(--u) * 24); line-height: 1.35; color: #e9dcb8; }
.scene-result[data-outcome="prologue"] .result-line { font-size: calc(var(--u) * 30); font-weight: 700; text-align: center; color: #fff4d0; }
.scene-result[data-outcome="prologue"] .result-title {
  background: linear-gradient(180deg, #ffe0d6 0%, #f08a6e 45%, #b8412b 60%, #e86f52 85%, #7a2415 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

[data-layout="landscape"] .result-header { top: calc(var(--u) * 16); height: calc(var(--u) * 116); }
[data-layout="landscape"] .result-title { font-size: calc(var(--u) * 60); }
[data-layout="landscape"] .result-body {
  top: calc(var(--u) * 140);
  bottom: calc(var(--u) * 128);
  left: calc(var(--u) * 120);
  right: calc(var(--u) * 120);
  flex-direction: row;
  align-items: center;
  gap: calc(var(--u) * 28);
}
[data-layout="landscape"] .result-hero { flex: 0 0 auto; width: auto; min-height: 0; height: 100%; }
[data-layout="landscape"] .result-panel { flex: 1; justify-content: center; }
[data-layout="landscape"] .result-row { font-size: calc(var(--u) * 22); }
[data-layout="landscape"] .result-taunt { max-width: calc(var(--u) * 260); font-size: calc(var(--u) * 20); }

@keyframes result-slam { from { opacity: 0; transform: scale(1.8); } }
@keyframes result-card { from { opacity: 0; transform: translateY(calc(var(--u) * 40)) scale(0.85); } }
@keyframes result-rise { from { opacity: 0; transform: translateY(calc(var(--u) * 40)); } }
@keyframes result-pop { from { transform: scale(1); } to { transform: scale(1.08); } }
