/* College hub lineup gets the full content width, keeping five readable cards. */
.college-hub .hub-lower>.lineup-strip { grid-column:1/-1; width:100%; }
.college-hub .lineup-strip>div { grid-template-columns:repeat(5,minmax(0,1fr)); }
.college-hub .lineup-player { min-height:112px; padding:10px 8px 16px; gap:8px; }
.college-hub .lineup-player>img { width:40%; max-width:74px; height:88px; flex-shrink:0; }
.college-hub .lineup-player strong { font-size:16px; line-height:1.15; }
.college-hub .lineup-player .rating { font-size:24px; }
.college-tournament { border-color:var(--orange); }
.college-tournament ul { padding:0 18px 16px; list-style:none; }
.college-tournament li { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:10px 0; }
.college-tournament .row-actions { display:inline-flex; gap:8px; margin-left:auto; }
@media(max-width:1050px) {
 .college-hub .lineup-strip>div { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .college-hub .lineup-strip>div { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .college-hub .lineup-player:last-child { grid-column:auto; }
 .college-hub .lineup-player>img { width:48px; height:72px; margin:0; }
 .college-hub .lineup-player strong { font-size:16px; }
 .college-tournament .row-actions { width:100%; margin-left:0; }
}
/* College has a name in column one; pro tables reserve that column for compare. */
.roster-showcase .college-player-table th:first-child { font-size:13px; min-width:220px; width:220px; padding:10px 8px; }
.roster-showcase .college-player-table td:first-child { min-width:220px; max-width:none; width:220px; padding:10px 8px; }

/* College screens share neutral arena art; the rotation court stays schematic. */
.college-career .screen-header-arena {
 background-image:linear-gradient(90deg,var(--paper) 35%,transparent),url('/public/college/arena-night.webp');
}
.college-career .college-court {
 background:var(--highlight);
}
.college-career .game-readiness {
 background-image:linear-gradient(90deg,var(--paper),transparent),url('/public/college/arena-night.webp');
}
.college-career .live-broadcast .match-court,.college-career .match-court {
 background:var(--highlight);
}
.college-recruiting details[id] { scroll-margin-top:85px; }
.college-class-year { display:inline-block; margin-left:8px; color:var(--muted); }
.college-recruiting .recruiting-table { width:100%; table-layout:fixed; }
.college-recruiting .recruiting-table th { white-space:normal; }
.college-recruiting .recruiting-table th:first-child { width:23%; }
.college-recruiting .recruiting-table th:nth-child(2) { width:12%; }
.college-recruiting .recruiting-table th:nth-child(3) { width:7%; }
.college-recruiting .recruiting-table th:nth-child(4) { width:9%; }
.college-recruiting .recruiting-table th:nth-child(5) { width:12%; }
.college-recruiting .recruiting-table td { vertical-align:top; white-space:normal; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.college-recruiting .recruiting-table td>small { display:block; margin-top:5px; color:var(--muted); line-height:1.5; }
.college-recruiting .recruiting-table td>strong { display:block; }
.college-recruiting .recruit-actions { display:flex; flex-wrap:wrap; gap:6px; }
.college-recruiting .recruit-actions .btn { margin:0; }
.college-recruiting .panel-title { flex-wrap:wrap; gap:8px; }
.college-recruiting .panel-title>span { color:var(--muted); font-variant-numeric:tabular-nums; }
.college-recruiting .recruiting-details { margin-top:20px; }
.college-recruiting .recruiting-details .panel { margin-bottom:0; }
.college-recruiting .recruiting-details .rival-list { padding:12px 18px; }
.college-recruiting .recruiting-table td:last-child { min-width:0; }
/* Portal identity and decisions use the same readable rows as recruiting. */
.college-recruiting .college-portal-table th:first-child { width:42%; }
.college-recruiting .college-portal-table th:nth-child(2) { width:18%; }
.college-recruiting .college-portal-table th:nth-child(3) { width:12%; }
.college-recruiting .college-portal-table th:nth-child(4) { width:28%; }
.college-portal-table .player-link { min-width:0; max-width:100%; white-space:normal; text-align:left; }
.college-portal-table .player-link>span:last-child { min-width:0; overflow-wrap:anywhere; }
/* Keep a matchup, its scheduled site and its outcome on distinct lines. */
.college-career [data-bracket-node] { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; min-width:0; }
.college-career [data-bracket-node]>strong,
.college-career [data-bracket-node]>span { display:block; flex-basis:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.college-career [data-bracket-node] .text-link { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:left; }
@media(max-width:1050px) {
 .college-recruiting .recruiting-table { display:block; }
 .college-recruiting .recruiting-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .college-recruiting .recruiting-table tbody { display:block; }
 .college-recruiting .recruiting-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; gap:12px; border-bottom:1px solid var(--line); }
 .college-recruiting .recruiting-table td { display:block; min-width:0; padding:0; border:0; }
 .college-recruiting .recruiting-table td::before { content:attr(data-label); display:block; margin-bottom:4px; font-size:13px; color:var(--muted); }
 .college-recruiting .recruiting-table td:first-child,.college-recruiting .recruiting-table td:last-child { grid-column:1/-1; }
 .college-recruiting .recruiting-table td:first-child::before { display:none; }
 .college-recruiting .recruit-actions .btn { min-height:44px; flex:1 1 125px; }
 .college-recruiting .recruiting-details summary { min-height:44px; }
}
@media(max-width:760px) {
 .college-recruiting .filter-bar { display:grid; grid-template-columns:1fr; }
 .college-recruiting .filter-bar>* { width:100%; min-width:0; }
}
/* Goals (season list, hub strip, career ladder). Status is written out; marks and color repeat it. */
.goal-list,.goal-ladder{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.goal-item{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.goal-item:last-child{border-bottom:0}
.goal-mark{font-weight:700;text-align:center}
.goal-achieved .goal-mark,.goal-item.goal-achieved .goal-status{color:var(--green)}
.goal-item.goal-missed .goal-status{color:#e58a7c}
.goal-stretch{margin-left:6px;padding:1px 6px;border:1px solid currentColor;border-radius:3px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.goal-ladder-row{padding:4px 0}
.goal-ladder-head{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:4px}
.goal-ladder-row .meter{height:6px}.goal-ladder-row .meter>span{display:block;height:100%}
.goals-strip{margin-bottom:10px}.goals-strip .panel-title small{font-weight:400;opacity:.8;margin-left:8px}
.goals-strip .goal-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:4px 16px}
