/* knockouts.css */

.knockouts-page{
  display:grid;
  gap:22px;
}

.knockouts-header-shell{
  position:relative;
}

.knockouts-summary-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.knockouts-two-up{
  display:grid;
  grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);
  gap:22px;
}

.knockouts-two-up > .section{
  min-width:0;
}

.knockouts-shell{
  position:relative;
  overflow:hidden;
}

.knockouts-shell-head{
  position:relative;
  margin-bottom:14px;
  padding:0 0 12px 0;
}

.knockouts-shell-head::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-12px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(239,68,68,.96) 0%,
    rgba(255,184,28,.96) 25%,
    rgba(34,197,94,.96) 50%,
    rgba(59,130,246,.96) 75%,
    rgba(168,85,247,.96) 100%
  );
}

.knockouts-shell-head h3{
  margin:0 0 4px 0;
  color:#fff;
  font-size:1.15rem;
  line-height:1.2;
}

.knockouts-shell-head p{
  margin:0;
}

.knockouts-stat-card{
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    rgba(255,255,255,.01);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04),
    0 10px 24px rgba(0,0,0,.18);
}

.knockouts-stat-label{
  margin:0 0 8px 0;
  color:#cbd5e1;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.knockouts-stat-main{
  display:flex;
  align-items:center;
  gap:12px;
}

.knockouts-stat-avatar-wrap{
  flex:0 0 auto;
}

.knockouts-stat-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.knockouts-stat-name{
  color:#fff;
  font-size:1.22rem;
  font-weight:900;
  line-height:1.15;
}

.knockouts-stat-value{
  color:var(--gold);
  font-size:1.14rem;
  font-weight:900;
  line-height:1.15;
}

.knockouts-stat-sub{
  color:#cbd5e1;
  font-size:.88rem;
  line-height:1.3;
}

.knockouts-list{
  display:grid;
  gap:12px;
}

.knockouts-list-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    rgba(255,255,255,.01);
}

.knockouts-list-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.knockouts-list-title{
  color:#fff;
  font-size:.98rem;
  font-weight:800;
  line-height:1.2;
}

.knockouts-list-sub{
  color:#cbd5e1;
  font-size:.84rem;
  line-height:1.3;
}

.knockouts-list-value{
  color:var(--gold);
  font-size:1rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.knockouts-vendetta-list{
  display:grid;
  gap:14px;
}

.knockouts-vendetta-card{
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  justify-content:center;
  justify-items:center;
  gap:22px;
  padding:18px 20px;
  border:1px solid rgba(168,85,247,.22);
  border-radius:16px;
  background:
    radial-gradient(circle at top right, rgba(168,85,247,.16), transparent 30%),
    radial-gradient(circle at left center, rgba(216,180,254,.10), transparent 24%),
    linear-gradient(180deg, rgba(52,24,82,.98), rgba(24,14,38,.99));
  box-shadow:
    0 0 0 1px rgba(168,85,247,.08),
    0 10px 24px rgba(0,0,0,.20),
    0 0 18px rgba(168,85,247,.10);
}

.knockouts-vendetta-side{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  flex:0 0 auto;
}

.knockouts-vendetta-side-left,
.knockouts-vendetta-side-right{
  justify-content:center;
  text-align:center;
}

.knockouts-vendetta-avatar-wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:80px;
}

.knockouts-vendetta-hover-name{
  position:absolute;
  top:100%;
  margin-top:8px;
  left:50%;
  transform:translateX(-50%);
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(8,10,14,.94);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
  z-index:5;
}

.knockouts-vendetta-avatar-wrap:hover .knockouts-vendetta-hover-name{
  opacity:1;
  transform:translateX(-50%) translateY(2px);
}

.knockouts-vendetta-scoreline{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
  min-width:0;
}

.knockouts-vendetta-score{
  color:#fff1c4;
  font-size:1.7rem;
  font-weight:900;
  line-height:1;
}

.knockouts-vendetta-vs{
  color:#d8b4fe;
  font-size:1rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.knockouts-nemesis-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}

.knockouts-nemesis-card{
  display:grid;
  grid-template-columns:auto auto auto;
  align-items:center;
  justify-content:center;
  justify-items:center;
  gap:22px;
  padding:18px 20px;
  border:1px solid rgba(239,68,68,.20);
  border-radius:14px;
  background:
    radial-gradient(circle at top right, rgba(239,68,68,.14), transparent 30%),
    radial-gradient(circle at left center, rgba(254,202,202,.08), transparent 24%),
    linear-gradient(180deg, rgba(64,18,18,.98), rgba(24,12,12,.99));
  box-shadow:
    0 0 0 1px rgba(239,68,68,.08),
    0 10px 24px rgba(0,0,0,.20),
    0 0 18px rgba(239,68,68,.10);
}

.knockouts-nemesis-side{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:auto;
}

.knockouts-nemesis-side-right{
  justify-content:center;
}

.knockouts-nemesis-avatar-wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:80px;
}

.knockouts-nemesis-hover-name{
  position:absolute;
  top:100%;
  margin-top:8px;
  left:50%;
  transform:translateX(-50%);
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(8,10,14,.94);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
  z-index:5;
}

.knockouts-nemesis-avatar-wrap:hover .knockouts-nemesis-hover-name{
  opacity:1;
  transform:translateX(-50%) translateY(2px);
}

.knockouts-nemesis-count-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:94px;
  padding:10px 14px;
  border:1px solid rgba(255,184,28,.24);
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,184,28,.14), rgba(255,184,28,.06)),
    rgba(255,255,255,.01);
  color:var(--gold);
  font-size:1.18rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

.knockouts-belt-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  gap:14px;
}

.knockouts-belt-tally-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  text-align:center;
  padding:16px 14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
    rgba(255,255,255,.01);
}

.knockouts-belt-tally-avatar-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

.knockouts-belt-hover-name{
  position:absolute;
  top:100%;
  margin-top:8px;
  left:50%;
  transform:translateX(-50%);
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(8,10,14,.94);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
  z-index:5;
}

.knockouts-belt-tally-avatar-wrap:hover .knockouts-belt-hover-name{
  opacity:1;
  transform:translateX(-50%) translateY(2px);
}

.knockouts-belt-tally-total{
  color:var(--gold);
  font-size:1.35rem;
  font-weight:900;
  line-height:1;
}

.knockouts-tally-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  row-gap:8px;
  max-width:100%;
}

.knockouts-tally-group{
  position:relative;
  display:flex;
  align-items:flex-end;
  gap:4px;
  min-height:20px;
  padding:0 2px;
}

.knockouts-tally-stroke{
  display:block;
  width:3px;
  height:18px;
  border-radius:999px;
  background:var(--gold);
}

.knockouts-tally-slash{
  position:absolute;
  left:2px;
  right:2px;
  top:1px;
  bottom:1px;
  margin:auto;
  width:26px;
  height:3px;
  border-radius:999px;
  background:var(--gold);
  transform:rotate(-58deg);
  transform-origin:center;
}

.knockouts-empty{
  color:#94a3b8;
  font-size:.95rem;
  line-height:1.45;
}

/* avatars */
.knockouts-avatar,
.knockouts-avatar-fallback{
  display:block;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 auto;
  border:2px solid rgba(255,255,255,.10);
  box-shadow:0 6px 16px rgba(0,0,0,.18);
  background:rgba(255,255,255,.04);
}

.knockouts-avatar-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
}

.knockouts-avatar-lg,
.knockouts-avatar-fallback.knockouts-avatar-lg{
  width:68px;
  height:68px;
  font-size:1.05rem;
}

.knockouts-avatar-md,
.knockouts-avatar-fallback.knockouts-avatar-md{
  width:72px;
  height:72px;
  font-size:1.05rem;
}

.knockouts-avatar-sm,
.knockouts-avatar-fallback.knockouts-avatar-sm{
  width:40px;
  height:40px;
  font-size:.8rem;
}

@media (max-width:1100px){
  .knockouts-summary-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .knockouts-two-up{
    grid-template-columns:1fr;
  }
}

@media (max-width:700px){
  .knockouts-summary-grid{
    grid-template-columns:1fr;
  }

  .knockouts-list-card{
    grid-template-columns:auto 1fr;
  }

  .knockouts-list-value{
    grid-column:2;
    justify-self:start;
  }

   .knockouts-vendetta-card{
    grid-template-columns:1fr;
    justify-items:center;
    justify-content:center;
    text-align:center;
  }

  .knockouts-vendetta-side-left,
  .knockouts-vendetta-side-right{
    justify-content:center;
    text-align:center;
  }
  
  .knockouts-belt-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
   .knockouts-nemesis-grid{
    grid-template-columns:1fr;
  }

  .knockouts-nemesis-card{
    grid-template-columns:1fr;
    justify-items:center;
    justify-content:center;
    text-align:center;
    gap:14px;
  }
  .knockouts-nemesis-side,
  .knockouts-nemesis-side-right{
    justify-content:center;
    text-align:center;
  }
}
