/* Rank prestige system styles (badges, scoreboard highlight, rank-up ceremony).
   Owned by the prestige module; loaded after styles.css.
   Badges carry their own dark outline so they stay legible on both the light
   steel lobby theme and the dark in-game HUD. */

/* --- Rank badges ------------------------------------------------------- */

.rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  line-height: 0;
  filter: drop-shadow(0 1px 1px rgba(20, 14, 2, 0.35));
}

.rank-badge svg {
  display: block;
}

.rank-badge-sm svg { width: 14px; height: 14px; }
.rank-badge-md svg { width: 18px; height: 18px; }
.rank-badge-lg svg { width: 44px; height: 44px; }

.chat-rank-badge { margin-right: 2px; }

/* --- Skin-tinted roster rows ------------------------------------------- */

.player-list-row.skin-tinted,
.roster-row.skin-tinted {
  background-image: linear-gradient(90deg, var(--skin-tint, transparent), transparent 78%);
}

/* --- Kill feed rank-up line --------------------------------------------- */

.kill-feed-item .kf-rankup {
  color: #f2c531;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(10, 8, 2, 0.65);
}

/* --- Local rank-up ceremony (results screen) ----------------------------
   Faithful to the observed Stick Arena end-of-round banner: a glossy
   gray-blue pill with chunky white text ("YOU ACHIEVED RANK X!") that fades
   in with a small vertical settle (~140ms ease-out) roughly 3s after the
   results screen appears, then stays put. No infinite pulsing glow — the
   badge keeps a soft static one. */

.rank-up-celebration {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 22px;
  margin-bottom: 12px;
  border-radius: 999px;
  border: 1px solid rgba(226, 235, 244, 0.75);
  background: linear-gradient(180deg, #93a1b3 0%, #5f6f84 46%, #485772 54%, #3a4760 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), inset 0 -2px 0 rgba(8, 12, 18, 0.4), 0 3px 9px rgba(10, 14, 20, 0.35);
  opacity: 0;
  transform: translateY(-10px);
  animation: rank-up-banner-in 140ms ease-out 3s forwards;
}

.rank-up-celebration .rank-up-badge {
  filter: drop-shadow(0 0 6px rgba(255, 214, 92, 0.5)) drop-shadow(0 1px 1px rgba(20, 14, 2, 0.35));
}

.rank-up-celebration .rank-up-badge svg {
  width: 28px;
  height: 28px;
}

.rank-up-title {
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #ffffff;
  text-shadow: 0 2px 0 rgba(10, 14, 22, 0.55);
}

@keyframes rank-up-banner-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reduced motion (system or in-app setting): the banner just appears. */
@media (prefers-reduced-motion: reduce) {
  .rank-up-celebration {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

.rank-up-celebration.reduced {
  animation: none;
  opacity: 1;
  transform: none;
}
