.lineup-controls { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); margin-block:var(--space-3); }
.lineup-controls select { max-width:var(--control-max); width:auto; min-width:10rem; min-height:var(--control-h); font-size:var(--fs-base); }
.lineup-toggle { display:flex; gap:var(--space-1); }
.lineup-toggle button[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 12%,var(--surface)); }
.lineup-controls > .lineup-toggle:nth-of-type(2) { margin-inline-start:auto; }
.lineup-controls button, .lineup-content button { min-height:var(--control-h); }
.lineup-info { color:var(--text-dim); font-size:var(--fs-sm); max-width:var(--prose-max); line-height:var(--lh-body); margin-block:var(--space-2); }
.lineup-content { display:grid; gap:var(--space-3); min-height:100dvh; align-content:start; max-width:1100px; margin-inline:auto; }
.lineup-team-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--space-3); border-bottom:1px solid var(--line); padding-block:var(--space-3); }
.lineup-team-heading h2 { margin:0; }
.lineup-kicker { color:var(--accent); font-weight:700; font-size:var(--fs-sm); letter-spacing:.1em; }
.lineup-section > h3, .lineup-roster-section > h3 { font-size:var(--fs-lg); margin-block:var(--space-4) var(--space-3); }
.lineup-lines-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); }
.lineup-card { border:1px solid var(--line); border-radius:var(--radius); padding:var(--space-4); background:var(--surface); min-width:0; }
.lineup-card-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); margin-bottom:var(--space-3); }
.lineup-card h4 { font-size:var(--fs-base); margin:0; }
.lineup-share { color:var(--accent); font-size:var(--fs-lg); font-variant-numeric:tabular-nums; }
.lineup-unit { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-2); align-items:start; }
.lineup-unit-1 { grid-template-columns:minmax(0,160px); justify-content:center; }
.lineup-unit-2, .lineup-unit-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lineup-unit-5 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.lineup-unit-5 > * { grid-column:span 2; }
.lineup-unit-5 > :nth-child(4) { grid-column:2 / span 2; }
.lineup-roster-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:var(--space-3); padding:var(--space-3); border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.lineup-player { display:flex; flex-direction:column; align-items:center; gap:var(--space-1); width:100%; min-width:0; color:var(--text); font:inherit; padding:var(--space-2); background:transparent; border:1px solid transparent; border-radius:var(--radius); text-align:center; }
button.lineup-player { cursor:pointer; transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out); }
button.lineup-player:hover, button.lineup-player:focus-visible { background:var(--surface-alt); border-color:var(--accent); }
.lineup-jersey-frame { display:grid; width:100%; max-width:160px; aspect-ratio:320 / 336; position:relative; }
.lineup-jersey-frame img { width:100%; height:100%; object-fit:contain; position:absolute; inset:0; }
.lineup-jersey-fallback { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:var(--space-2); height:100%; color:var(--text-dim); border:1px dashed var(--line); border-radius:var(--radius); font-size:var(--fs-lg); }
.lineup-jersey-fallback small { font-size:var(--fs-2xs); }
.lineup-player-name { font-size:var(--fs-sm); font-weight:600; overflow-wrap:anywhere; }
.lineup-player-position { color:var(--text-dim); font-size:var(--fs-xs); }
.lineup-status { color:var(--accent); font-size:var(--fs-2xs); overflow-wrap:anywhere; }
.lineup-variant { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-2); padding-block:var(--space-3); border-top:1px solid var(--line); }
.lineup-variant > span { overflow-wrap:anywhere; }
.lineup-variant strong { font-variant-numeric:tabular-nums; }
.lineup-variant progress { grid-column:1 / -1; width:100%; height:var(--space-2); accent-color:var(--accent); }
.lineup-sources { grid-column:1 / -1; font-size:var(--fs-xs); color:var(--text-dim); overflow-wrap:anywhere; }
.lineup-sources a { display:inline-flex; align-items:center; min-height:var(--tap-min); padding-inline:var(--space-2); }
.lineup-content summary { cursor:pointer; min-height:var(--tap-min); display:flex; align-items:center; font-size:var(--fs-sm); }
.lineup-skeleton { min-height:100dvh; padding:var(--space-4); background:var(--surface); border-radius:var(--radius); }
#news-lines { min-height:100dvh; }
#news-lines > .lineup-info { min-height:3rem; }
@media (max-width:700px) {
  .lineup-lines-grid { grid-template-columns:minmax(0,1fr); }
  .lineup-controls > .lineup-toggle:nth-of-type(2) { margin-inline-start:0; }
  .lineup-roster-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-1); padding:var(--space-2); }
  .lineup-card { padding:var(--space-3); }
  .lineup-player { padding:var(--space-1); }
}
@media (pointer:coarse) {
  .lineup-controls select, .lineup-controls button, .lineup-content button { min-height:var(--tap-min); }
}
@media (prefers-reduced-motion:reduce) { button.lineup-player { transition:none; } }
