/**
 * Sprint 1 — CLIMAX FIX: Bonus summary cinematic outro
 * Winner: Variant C (character-hosted). A/B archived in reports/sprint_climax_fix/captures/
 */

/* ===== Shared outro base ===== */

.sprint-climax-summary {
  animation: none;
}

.sprint-climax-summary .bonus-result-summary-letterbox {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sprint-climax-summary .bonus-result-summary-letterbox-bar {
  height: clamp(18px, 4vh, 36px);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.82), transparent);
  opacity: 0;
  animation: sprint-letterbox-in 0.55s ease 0.1s forwards;
}

.sprint-climax-summary .bonus-result-summary-letterbox-bar:last-child {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.82), transparent);
}

@keyframes sprint-letterbox-in {
  to { opacity: 1; }
}

.sprint-climax-summary .bonus-result-continue--latent {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(16px);
}

.sprint-climax-summary .bonus-result-total-win--settled {
  animation: sprint-total-breathe 2.4s ease-in-out infinite;
}

@keyframes sprint-total-breathe {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.08); }
}

.sprint-climax-summary .bonus-result-stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0.35rem 0 0.5rem;
}

.sprint-climax-summary .bonus-result-stat-label {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  opacity: 0.72;
}

.sprint-climax-summary .bonus-result-stat-value {
  font-size: 1.05rem;
  font-weight: 800;
}

.sprint-climax-summary .bonus-summary-character-accent {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 0.65rem;
  text-align: center;
}

.sprint-climax-summary .bonus-summary-character-badge {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.22em;
}

.sprint-climax-summary .bonus-summary-character-tag {
  font-size: 0.58rem;
  letter-spacing: 0.16em;
  opacity: 0.78;
}

.sprint-climax-summary .bonus-summary-character-host {
  font-size: 0.82rem;
  font-style: italic;
  opacity: 0.88;
}

.sprint-climax-summary[data-bonus-type="HANSOLO"] {
  --summary-accent: #f39c12;
  --summary-accent-soft: rgba(243, 156, 18, 0.35);
}

.sprint-climax-summary[data-bonus-type="KISSIK"] {
  --summary-accent: #fd79a8;
  --summary-accent-soft: rgba(253, 121, 168, 0.35);
}

.sprint-climax-summary[data-bonus-type="VIKING"] {
  --summary-accent: #74b9ff;
  --summary-accent-soft: rgba(116, 185, 255, 0.35);
}

.sprint-climax-summary[data-bonus-type="UJN"] {
  --summary-accent: #a29bfe;
  --summary-accent-soft: rgba(162, 155, 254, 0.35);
}

.sprint-climax-summary .bonus-summary-character-badge {
  color: var(--summary-accent, #f1c40f);
}

.sprint-climax-summary .bonus-result-summary-particles {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 72%, var(--summary-accent-soft, rgba(255, 215, 0, 0.2)) 0 3px, transparent 4px),
    radial-gradient(circle at 82% 28%, var(--summary-accent-soft, rgba(255, 215, 0, 0.16)) 0 2px, transparent 3px);
  opacity: 0.55;
  animation: sprint-particles-drift 6s ease-in-out infinite;
}

@keyframes sprint-particles-drift {
  0%, 100% { transform: translateY(0); opacity: 0.45; }
  50% { transform: translateY(-6px); opacity: 0.65; }
}

.sprint-climax-summary.bonus-result-summary--after-big-win .bonus-result-summary-backdrop {
  animation: sprint-backdrop-continue 0.45s ease forwards;
}

@keyframes sprint-backdrop-continue {
  from { opacity: 0.35; }
  to { opacity: 1; }
}

/* Return to base wipe */
.bonus-return-to-base-wipe {
  position: absolute;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(4, 8, 18, 0) 0%,
    rgba(4, 8, 18, 0.55) 35%,
    rgba(8, 12, 24, 0.92) 100%
  );
}

.bonus-return-to-base-active [data-game-stage-aspect],
.bonus-return-to-base-active [data-game-stage] {
  transition: filter 0.35s ease;
}

/* ===== Variant A — cinematic dark (archived challenger) ===== */
[data-testid="bonus-summary"][data-summary-variant="a"] .bonus-result-summary-backdrop {
  background: radial-gradient(ellipse 90% 80% at 50% 42%, rgba(8, 12, 22, 0.5) 0%, rgba(0, 0, 0, 0.94) 100%);
  backdrop-filter: blur(8px);
}

[data-testid="bonus-summary"][data-summary-variant="a"] .bonus-result-summary-card {
  max-width: 440px;
  border-color: rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(12, 16, 28, 0.98), rgba(4, 6, 12, 0.98));
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.65);
}

[data-testid="bonus-summary"][data-summary-variant="a"] .bonus-result-total-win {
  font-size: clamp(2rem, 5vw, 3rem);
  color: #e8edf5;
  text-shadow: 0 0 28px rgba(255, 255, 255, 0.12);
}

[data-testid="bonus-summary"][data-summary-variant="a"] .bonus-summary-character-host {
  display: none;
}

/* ===== Variant B — neon jackpot (archived challenger) ===== */
[data-testid="bonus-summary"][data-summary-variant="b"] .bonus-result-summary-backdrop {
  background: radial-gradient(ellipse 70% 60% at 50% 40%, rgba(255, 0, 128, 0.18) 0%, rgba(0, 0, 0, 0.94) 70%);
}

[data-testid="bonus-summary"][data-summary-variant="b"] .bonus-result-summary-card {
  max-width: 480px;
  border-color: rgba(0, 255, 255, 0.45);
  box-shadow:
    0 0 40px rgba(0, 255, 255, 0.22),
    0 0 80px rgba(255, 0, 180, 0.12),
    0 24px 64px rgba(0, 0, 0, 0.55);
}

[data-testid="bonus-summary"][data-summary-variant="b"] .bonus-result-total-win {
  font-size: clamp(2.2rem, 6vw, 3.4rem);
  color: #fff;
  text-shadow:
    0 0 16px rgba(0, 255, 255, 0.55),
    0 0 32px rgba(255, 0, 180, 0.35);
  animation: sprint-neon-pulse 1.6s ease-in-out infinite;
}

@keyframes sprint-neon-pulse {
  0%, 100% { text-shadow: 0 0 16px rgba(0, 255, 255, 0.45), 0 0 32px rgba(255, 0, 180, 0.25); }
  50% { text-shadow: 0 0 24px rgba(0, 255, 255, 0.65), 0 0 48px rgba(255, 0, 180, 0.4); }
}

[data-testid="bonus-summary"][data-summary-variant="b"] .bonus-summary-character-tag {
  color: #0ff;
}

/* ===== Variant C — character-hosted (WINNER — production default) ===== */
[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-result-summary-backdrop {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.72) 0%, rgba(8, 6, 18, 0.88) 45%, rgba(0, 0, 0, 0.82) 100%);
}

[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-result-summary-card {
  max-width: min(520px, 94%);
  padding: 1.35rem 1.25rem 1.2rem;
  border-color: var(--summary-accent-soft, rgba(255, 215, 0, 0.4));
  background:
    linear-gradient(145deg, rgba(16, 20, 36, 0.96) 0%, rgba(8, 10, 20, 0.98) 100%);
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 36px var(--summary-accent-soft, rgba(255, 215, 0, 0.15));
}

[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-summary-character-accent {
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--summary-accent-soft, rgba(255, 215, 0, 0.2)), transparent);
  border-left: 3px solid var(--summary-accent, #f1c40f);
  text-align: left;
}

[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-summary-character-host {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  font-style: normal;
  color: #f8fafc;
}

[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-result-title {
  font-size: clamp(0.95rem, 2.2vw, 1.15rem);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.9;
}

[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-result-total-win {
  font-size: clamp(2.2rem, 6.5vw, 3.5rem);
  margin: 0.55rem 0 0.25rem;
  color: #fff;
  text-shadow: 0 0 24px var(--summary-accent-soft, rgba(255, 215, 0, 0.4));
}

[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-result-multiplier {
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  color: var(--summary-accent, #f1c40f);
}

[data-testid="bonus-summary"][data-summary-variant="c"] .bonus-result-continue:not(.bonus-result-continue--latent) {
  margin-top: 1.1rem;
  box-shadow: 0 0 20px var(--summary-accent-soft, rgba(255, 180, 60, 0.25));
}

@media (prefers-reduced-motion: reduce) {
  .sprint-climax-summary .bonus-result-total-win--settled,
  [data-testid="bonus-summary"][data-summary-variant="b"] .bonus-result-total-win,
  .sprint-climax-summary .bonus-result-summary-particles,
  .sprint-climax-summary .bonus-result-summary-letterbox-bar {
    animation: none !important;
  }
}
