/* Mobile team sheets. Desktop keeps its existing layout. */
.roster-name-mobile{display:none}
@media(max-width:800px){
 .roster-name-full{display:none}
 .roster-name-mobile,.roster-surname,.roster-given{display:block}
 .roster-surname{text-transform:uppercase;font-size:16px;font-weight:800;letter-spacing:.015em;line-height:1.2;overflow-wrap:anywhere}
 .roster-given{font-size:13px;font-weight:500;line-height:1.25;margin-top:3px}
 .balance>.wrap{width:calc(100% - 20px);max-width:none;gap:16px}.balance{padding-top:24px}
 .balance .section-heading .eyebrow{display:none}
 .balance .section-heading h2{font-size:26px;margin:0 0 8px}
 .balance .section-heading p:not(.eyebrow){font-size:13px;line-height:1.45}
 .balance{gap:16px}
 .balance-status{padding:8px 10px;border-left:2px solid #a8dddf}
 .balance-status strong{font-size:11px}.balance-status span{font-size:11px;line-height:1.4}
 .teams-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;grid-template-rows:auto auto auto auto auto auto;align-items:stretch}
 .team-card{display:grid;grid-template-rows:subgrid;grid-row:span 6;min-width:0}
 .team-card .team-heading{padding:12px 10px;display:block;border-bottom-width:2px}
 .team-card .team-heading p{font-size:20px;line-height:1.1;letter-spacing:-.02em}
 .team-card .team-heading span{display:block;text-align:left;margin-top:5px;font-size:9px;letter-spacing:.08em;opacity:1}
 .team-card .team-position h3{font-size:10px;letter-spacing:.1em;margin:13px 10px 5px}
 .team-card .player-list{padding:0 10px 0}
 .team-card .player-list li{font-size:16px;line-height:1.2;font-weight:650;min-height:55px;padding:8px 0;align-items:center}
 .team-card .team-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 6px;margin-top:16px;padding:12px 10px}
 .team-card .team-summary dt{font-size:8px;letter-spacing:0}.team-card .team-summary dd{font-size:16px;margin-top:3px}
 .team-card .age-note{margin:0 10px 12px;font-size:9px;line-height:1.4}
 .balance-note{font-size:10px;line-height:1.4}
 #helper-toggle{font-size:0;padding:8px;gap:0;width:42px;height:42px;right:8px;bottom:8px}
}
@media(max-width:360px){.team-card .player-list li{font-size:15px}.team-card .team-heading p{font-size:21px}.team-card .team-heading,.team-card .team-summary{padding-left:8px;padding-right:8px}.team-card .player-list{padding-left:8px;padding-right:8px}.team-card .team-position h3{margin-left:8px;margin-right:8px}}
@media(max-width:360px){.roster-surname{font-size:14px;letter-spacing:0}.roster-given{font-size:12px}}
/* Compact phone roster: keep every player above the supporting statistics. */
@media(max-width:800px){
 .balance{padding-top:12px}
 .balance>.wrap{gap:8px}
 .balance .section-heading h2{font-size:22px;margin:0}
 .balance .section-heading p:not(.eyebrow){display:none}
 .balance-status{padding:4px 8px}
 .balance-status strong{font-size:10px}
 .balance-status span{font-size:10px;line-height:1.25}
 .team-card .team-heading{padding:7px 8px}
 .team-card .team-heading p{font-size:18px}
 .team-card .team-heading span{font-size:8px;margin-top:2px}
 .team-card .team-position h3{font-size:9px;line-height:1.1;margin:7px 8px 2px}
 .team-card .player-list{padding:0 8px}
 .team-card .player-list li{min-height:35px;padding:3px 0}
 .roster-surname{font-size:15px;line-height:1.05;letter-spacing:0}
 .roster-given{font-size:11px;line-height:1.1;margin-top:1px}
 .team-card .team-summary{margin-top:12px}
}
@media(max-width:360px){.roster-surname{font-size:14px}}
