.revive-backdrop {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 30% 20%, rgba(255, 162, 236, 0.12), rgba(0, 0, 0, 0.75));
  backdrop-filter: blur(4px);
  z-index: 8;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.24s ease;
  padding: 18px;
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  padding-right: calc(18px + env(safe-area-inset-right, 0px));
}

.revive-backdrop--visible {
  opacity: 1;
  pointer-events: auto;
}

.revive-modal {
  min-width: min(520px, 90vw);
  max-width: min(620px, 94vw);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(43, 27, 66, 0.95) 0%, rgba(25, 16, 38, 0.95) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow:
    0 16px 44px rgba(0, 0, 0, 0.55),
    0 0 18px rgba(255, 122, 224, 0.42);
  padding: clamp(16px, 3vw, 26px);
  color: #fff7ff;
  font-family: "Arial Rounded MT Bold", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", sans-serif;
  text-align: center;
}

.revive-modal__title {
  font-family: 'Jumps Winter', "Arial Rounded MT Bold", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 900;
  font-size: clamp(24px, 5vw, 32px);
  letter-spacing: 0.5px;
  margin: 0 0 clamp(10px, 2vw, 16px);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55), 0 0 12px rgba(255, 170, 240, 0.45);
}

.revive-modal__hook {
  margin: 0 0 clamp(12px, 3vw, 18px);
  color: #ffe7ff;
  font-size: clamp(16px, 3.5vw, 20px);
  font-weight: 900;
  letter-spacing: 0.3px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45), 0 0 10px rgba(255, 193, 255, 0.35);
}

.revive-modal__body {
  margin: 0 0 clamp(16px, 3vw, 22px);
  color: #fde7ff;
  font-size: clamp(16px, 3.4vw, 19px);
  line-height: 1.35;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

.revive-modal__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: clamp(10px, 2vw, 14px);
  margin: 0 0 clamp(16px, 3vw, 24px);
}

.revive-stat {
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.25);
}

.revive-stat__label {
  font-size: clamp(12px, 3vw, 14px);
  color: #f7dcff;
  opacity: 0.85;
  margin-bottom: 4px;
}

.revive-stat__value {
  font-size: clamp(18px, 4.4vw, 22px);
  font-weight: 900;
  color: #fff7ff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.45);
}

.revive-modal__buttons {
  display: flex;
  gap: clamp(10px, 2vw, 14px);
  flex-wrap: wrap;
  justify-content: center;
}

.revive-btn {
  border: none;
  border-radius: 16px;
  padding: clamp(12px, 3vw, 14px) clamp(18px, 4vw, 26px);
  font-weight: 900;
  font-size: clamp(15px, 3.4vw, 18px);
  cursor: pointer;
  color: #fff;
  transition: transform 0.14s ease, box-shadow 0.14s ease, opacity 0.2s ease;
  font-family: 'Jumps Winter', "Arial Rounded MT Bold", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", sans-serif;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}

.revive-btn:disabled {
  opacity: 0.65;
  cursor: default;
  transform: none;
  box-shadow: none;
}

.revive-btn:hover:not(:disabled) {
  transform: translateY(-2px) scale(1.01);
}

.revive-btn--primary {
  background: linear-gradient(135deg, #ffb347 0%, #ff5fac 100%);
  box-shadow: 0 10px 22px rgba(255, 116, 186, 0.45), 0 0 12px rgba(255, 193, 122, 0.65);
}

.revive-btn--secondary {
  background: linear-gradient(135deg, #4b3a63 0%, #35284e 100%);
  color: #ffe7ff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 8px 16px rgba(0, 0, 0, 0.35);
}

.revive-loading {
  margin-top: clamp(10px, 2vw, 14px);
  font-size: clamp(14px, 3vw, 16px);
  color: #ffd050;
  letter-spacing: 0.2px;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
  display: none;
}

.revive-loading--visible {
  display: block;
}

/* Stub rewarded ad overlay */
.ad-stub-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 6, 18, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff7ff;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  font-family: 'Jumps Winter', "Arial Rounded MT Bold", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", sans-serif;
  padding: 22px;
  padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px));
  padding-right: calc(22px + env(safe-area-inset-right, 0px));
}

.ad-stub-overlay--visible {
  pointer-events: auto;
  opacity: 1;
}

.ad-stub-card {
  min-width: min(360px, 90vw);
  max-width: min(520px, 92vw);
  background: linear-gradient(160deg, rgba(55, 34, 82, 0.95) 0%, rgba(32, 20, 54, 0.95) 100%);
  border-radius: 18px;
  padding: clamp(18px, 3vw, 26px);
  text-align: center;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.55), 0 0 14px rgba(255, 144, 226, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.ad-stub-title {
  margin: 0 0 clamp(8px, 2vw, 14px);
  font-size: clamp(22px, 4vw, 28px);
  font-weight: 900;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

.ad-stub-countdown {
  font-size: clamp(18px, 4vw, 22px);
  color: #ffd050;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
}