Stanford’s defense never sacked Kenny Hill and had trouble pressuring him at all. The Horned Frogs passer racked up 401 combined yards passing, running and receiving and had a hand in all four of TCU’s offensive touchdowns. But the real issue here was what happened in the second half of the Alamo Bowl — that is, crunch time.

Stanford led 21-10 at halftime and trailed slightly in offensive yardage, 155-167. The Cardinal offense scored 16 more points and upped its yardage to 199 in the second half.

TCU, however, found an offensive groove after intermission. The team notched 29 points — four touchdowns and a field goal — and rolled for 321 yards.

This was an uncharacteristically bad second-half performance by defensive coordinator Lance Anderson’s unit, and it was obviously a key factor in Stanford’s loss. Therefore, I declare it to be The Bad.

• The Ugly

Cardinal sophomore quarterback K.J. Costello was fairly accurate in the first half, completing nine of 14 pass attempts for 86 yards with two touchdowns and an interception. After the break, however, Costello was somewhat hit-or-miss: He completed six of 13 throws for 126 yards, a score and a second pick.

As a result, the Cardinal offense was inconsistent in the third and fourth quarters. The unit scored two touchdowns and a field goal but also had a trio of possessions that spanned three plays each.

That lack of offensive production handicaps a chance at victory, as TCU proved. Therefore, Costello’s up-and-down second-half performance was the bowl game’s The Ugly.

• The Good

Did I found enough opportunities in the 2017 season to praise Bryce Love? The junior running back out of Wake Forest, N.C., seemed healthier than he’d been at any point since injuring his ankle early in the second half of the Cardinal’s win over Oregon back on Oct. 14.

Love was terrific in the Alamo Bowl, running for 145 yards and two scores on 26 carries. The Pac-12 offensive player of the year and Doak Walker award winner extended his Football Bowl Subdivision records with a masterful 69-yard touchdown, leaving him with best-ever streaks of 13 games with at least one 30-yard run and 11 games with at least one 50-yard run. Love’s total of 12 rushes for 50 or more yards on the year also set an FBS record, as did his season-long average of 8.3 yards per carry.

That said, Frank Buncom arguably had a more impressive outing in the Alamo Bowl. The junior free safety had a terrific interception and 37-yard return after he anticipated Hill’s target on TCU’s second possession of the game.

That pick was largely the result of skill, but Buncom got lucky with two additional takeaways. He picked off Hill in the end zone on a deflected Hail Mary pass on the final play of the first half. Late in the third quarter, Buncom also recovered a Desmon White fumble that was forced by sophomore cornerback Malik Antoine.

It’s extremely rare to see a player finish a game with three takeaways — so infrequent, in fact, that Stanford’s athletics press office doesn’t track the accomplishment. (By way of comparison, the staff does note the last time two Cardinal defenders recorded two or more sacks in the same game and the last time Stanford scored a touchdown on a fake field goal.)

Buncom also had four tackles, including one for a seven-yard loss, against Texas Christian University. His performance in the Alamo Bowl — particularly his extraordinary feat of taking the ball away three times — was the bowl game’s The Good.