.hidden { display:none; }

.pvp-filter-form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:end;
}

.pvp-filter-group{
  display:grid;
  gap:6px;
}

.pvp-filter-label{
  font-size:.9rem;
}

.pvp-filter-input{
  width:180px;
}

/* Sort links */
.pvp-sort-link{
  text-decoration:none;
}

/* Base desktop/mobile behavior */
.pvp-desktop{
  display:block;
}

.pvp-mobile{
  display:none;
}

.pvp-mobile-row{
  display:block;
}

.pvp-mobile-stats{
  display:none;
}

.pvp-mobile-row{
  display:block;
}

.pvp-mobile-stats{
  display:none;
}

/* Pills */
.pill-sm{
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-weight:700;
  font-size:.75rem;
  line-height:1;
  white-space:nowrap;
}

.pill-win{
  border-color:rgba(34, 197, 94, .35);
  background:rgba(34, 197, 94, .10);
  color:#166534;
}

.pill-loss{
  border-color:rgba(239, 68, 68, .35);
  background:rgba(239, 68, 68, .10);
  color:#7f1d1d;
}

.pill-neutral{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.04);
  color:inherit;
}

.pill-neutral.winpct{
  font-weight:800;
}

/* Opponent block */
.pvp-name{
  font-weight:800;
  line-height:1.15;
}

.pvp-sub{
  font-size:.78rem;
}

/* Mobile layout */
@media (max-width: 720px){
  .pvp-desktop{
    display:none;
  }

  .pvp-mobile{
    display:block;
  }

  .pvp-mobile-row{
    display:flex;
    align-items:center;
    gap:10px;
  }

  .pvp-left{
    min-width:0;
  }

  .pvp-mobile-stats{
    display:flex;
    gap:6px;
    margin-left:auto;
    flex-wrap:nowrap;
  }

  table.data tr.pvp-row td{
    padding-top:10px;
    padding-bottom:10px;
  }
}