/* Fighter profile and Ranked podium. Images, when present, use the game's FighterRef.avatar. */
.bn-profile--broadcast {
  position: relative;
  isolation: isolate;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 20px 28px;
  min-height: 290px;
  padding: clamp(20px,3vw,38px);
  overflow: hidden;
  border: 1px solid var(--line-2);
  border-top: 3px solid var(--bn-profile-accent, #7990aa);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(ellipse 44% 85% at 10% 45%, color-mix(in srgb, var(--bn-profile-accent,#7990aa) 24%, transparent), transparent 90%),
    linear-gradient(130deg,#151821,#0b0c10 72%);
}
.bn-profile--broadcast::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: repeating-linear-gradient(115deg,transparent 0 74px,rgba(255,255,255,.018) 75px 76px);
  pointer-events: none;
}
.bn-profile--broadcast[data-tier="bronze"] { --bn-profile-accent:#d6905a; }
.bn-profile--broadcast[data-tier="silver"] { --bn-profile-accent:#cdd2dc; }
.bn-profile--broadcast[data-tier="gold"] { --bn-profile-accent:#f5b041; }
.bn-profile--broadcast[data-tier="platinum"] { --bn-profile-accent:#7fd4c8; }
.bn-profile--broadcast[data-tier="diamond"] { --bn-profile-accent:#6ea8ff; }
.bn-profile--broadcast > .bn-ava { width: clamp(128px,15vw,206px); height: clamp(128px,15vw,206px); font-size: clamp(42px,5vw,72px); box-shadow: 0 0 0 5px rgba(255,255,255,.06), 0 16px 55px rgba(0,0,0,.42); }
.bn-profile--broadcast .bn-profile-id .bn-h1 { font-size: clamp(42px,5vw,88px); }
.bn-profile-detail { min-width: 0; }
.bn-profile--broadcast .bn-head-badges { margin-top: 12px; }
.bn-profile--broadcast .bn-tier, .bn-rank-podium .bn-tier, .bn-rank-list .bn-tier { min-height: 24px; font-size: 12px; }
.bn-profile--broadcast .bn-elo { color: #fff; font: 700 20px/1 var(--font-mono); }
.bn-profile--broadcast .bn-head-actions { margin-top: 16px; }
.bn-profile-scoreboard {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: auto 1fr auto 1fr;
  align-items: baseline;
  gap: 5px 12px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.bn-profile-scoreboard b { color: #fff; font: 700 clamp(22px,2.5vw,38px)/1 var(--font-display); white-space: nowrap; }
.bn-profile-scoreboard span { color: var(--text-3); font: 600 13px/1.3 var(--font-mono); }
.bn-profile--broadcast + .bn-section { margin-top: -8px; }
.bn-profile--broadcast ~ #bn-p-record .bn-stats { max-width: 880px; }
.bn-titles { gap: 14px; }
.bn-titles .bn-titlecard {
  position: relative;
  min-height: 180px;
  gap: 12px;
  padding: 18px;
  overflow: hidden;
  background: linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
}
.bn-titles .bn-titlecard::after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -55px;
  width: 150px;
  height: 150px;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .12;
  pointer-events: none;
}
.bn-titles .bn-titlecard--official { color: var(--gold); border-color: rgba(233,185,73,.5); background: linear-gradient(145deg,rgba(233,185,73,.2),rgba(233,185,73,.025) 66%); }
.bn-titles .bn-titlecard--league { color: var(--bn-accent,#ff7a3d); border-color: color-mix(in srgb,var(--bn-accent,#ff7a3d) 55%,transparent); background: linear-gradient(145deg,color-mix(in srgb,var(--bn-accent,#ff7a3d) 16%,transparent),rgba(255,255,255,.018) 70%); }
.bn-titles .bn-titlecard-top { gap: 8px 10px; }
.bn-titles .bn-titlecard-top > .bn-ic { width: 34px; height: 34px; }
.bn-titles .bn-titlecard-name { color: #fff; font-size: clamp(22px,2.4vw,30px); }
.bn-titles .bn-titlecard-sub { color: var(--text-2); }
.bn-rank-podium {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: end;
  gap: 14px;
  margin: 28px 0 30px;
  padding: 0;
  list-style: none;
}
.bn-rank-podium-position { min-width: 0; }
.bn-rank-podium-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-height: 270px;
  padding: 24px 18px;
  overflow: hidden;
  border: 1px solid var(--line-2);
  border-top: 4px solid #9eaab8;
  border-radius: var(--radius-xl);
  background: radial-gradient(ellipse 90% 80% at 50% 15%,rgba(175,190,215,.12),transparent),#111319;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: transform 160ms var(--ease), border-color 160ms var(--ease);
}
.bn-rank-podium-card:hover { transform: translateY(-3px); border-color: #fff; }
.bn-rank-podium-card:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.bn-rank-podium-position--1 .bn-rank-podium-card {
  min-height: 326px;
  border-color: rgba(233,185,73,.6);
  border-top-color: var(--gold);
  background: radial-gradient(ellipse 90% 80% at 50% 15%,rgba(233,185,73,.22),transparent),#161511;
}
.bn-rank-podium-position--2 .bn-rank-podium-card { min-height: 280px; }
.bn-rank-podium-position--3 .bn-rank-podium-card { min-height: 255px; border-top-color: #c78a64; }
.bn-rank-podium-number { position: absolute; top: 14px; left: 18px; color: #d0d8e3; font: 700 27px/1 var(--font-display); }
.bn-rank-podium-position--1 .bn-rank-podium-number { color: var(--gold); font-size: 36px; }
.bn-rank-podium-card .bn-ava--xl { width: clamp(70px,7vw,116px); height: clamp(70px,7vw,116px); }
.bn-rank-podium-position--1 .bn-ava--xl { width: clamp(86px,9vw,145px); height: clamp(86px,9vw,145px); }
.bn-rank-podium-name { font: 700 clamp(22px,2.6vw,38px)/1 var(--font-display); text-transform: uppercase; overflow-wrap: anywhere; }
.bn-rank-podium-elo { color: #fff; font: 700 clamp(20px,2.1vw,30px)/1 var(--font-mono); }
.bn-rank-podium-record { color: var(--text-2); font: 600 13px/1.25 var(--font-mono); }
.bn-rank-podium + .bn-rank-list { margin-top: 16px; }
@media (max-width: 760px) {
  .bn-profile--broadcast { grid-template-columns: auto minmax(0,1fr); min-height: 0; gap: 12px 16px; padding: 18px; }
  .bn-profile--broadcast > .bn-ava { width: 88px; height: 88px; font-size: 28px; }
  .bn-profile--broadcast .bn-profile-id { display: contents; }
  .bn-profile--broadcast .bn-profile-lead { grid-column: 2; min-width: 0; }
  .bn-profile--broadcast .bn-profile-detail { grid-column: 1 / -1; }
  .bn-profile--broadcast .bn-profile-id .bn-h1 { font-size: clamp(30px,8vw,50px); }
  .bn-profile--broadcast .bn-profile-id .bn-intro, .bn-profile--broadcast .bn-profile-id .bn-head-meta, .bn-profile--broadcast .bn-profile-id .bn-head-actions { grid-column: auto; }
  .bn-profile--broadcast .bn-head-actions { margin-top: 12px; }
  .bn-profile-scoreboard { grid-template-columns: auto 1fr auto 1fr; gap: 4px 8px; padding-top: 12px; }
  .bn-profile-scoreboard b { font-size: 22px; }
  .bn-profile-scoreboard span { font-size: 12px; }
  .bn-rank-podium { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 16px 0 20px; }
  .bn-rank-podium-position--1 { grid-column: 1 / -1; }
  .bn-rank-podium-position--1 .bn-rank-podium-card { min-height: 210px; }
  .bn-rank-podium-position--2 .bn-rank-podium-card, .bn-rank-podium-position--3 .bn-rank-podium-card { min-height: 195px; }
  .bn-rank-podium-card { padding: 14px 8px; }
  .bn-rank-podium-card .bn-ava--xl { width: 62px; height: 62px; }
  .bn-rank-podium-position--1 .bn-ava--xl { width: 82px; height: 82px; }
  .bn-rank-podium-name { font-size: 22px; }
  .bn-rank-podium-elo { font-size: 18px; }
}
@media (max-width: 380px) {
  .bn-profile--broadcast { padding: 14px; }
  .bn-profile--broadcast > .bn-ava { width: 70px; height: 70px; }
  .bn-profile-scoreboard { grid-template-columns: auto 1fr; }
  .bn-rank-podium-name { font-size: 18px; }
  .bn-rank-podium-record { font-size: 12px; }
}
@media (orientation: landscape) and (max-height: 500px) and (min-width: 480px) {
  .bn-profile--broadcast { min-height: 0; padding: 12px 16px; }
  .bn-profile--broadcast > .bn-ava { width: 76px; height: 76px; }
  .bn-profile--broadcast .bn-profile-id .bn-h1 { font-size: 34px; }
  .bn-profile--broadcast .bn-profile-id .bn-intro, .bn-profile-scoreboard { display: none; }
  .bn-rank-podium { margin: 8px 0 12px; }
  .bn-rank-podium-card, .bn-rank-podium-position--1 .bn-rank-podium-card, .bn-rank-podium-position--2 .bn-rank-podium-card, .bn-rank-podium-position--3 .bn-rank-podium-card { min-height: 132px; }
  .bn-rank-podium-card .bn-ava--xl { width: 40px; height: 40px; }
  .bn-rank-podium-position--1 .bn-ava--xl { width: 48px; height: 48px; }
}
@media (orientation: landscape) and (max-height: 500px) and (min-width: 480px) and (max-width: 760px) {
  .bn-profile--broadcast .bn-profile-detail { margin-top: 80px; }
}
@media (prefers-reduced-motion: reduce) { .bn-rank-podium-card { transition: none; } }
