.league-tabs { display:flex; flex-wrap:wrap; gap:0; border-bottom:1px solid var(--line); margin-bottom:24px; }
#leagues .league-tabs button { background:transparent; color:var(--muted); border-radius:0; border-bottom:3px solid transparent; padding:12px 16px; }
#leagues .league-tabs button[aria-pressed="true"] { color:var(--accent); border-color:var(--accent); }
.league-form { display:flex; flex-direction:column; gap:16px; max-width:640px; }
.league-form label { display:flex; flex-direction:column; gap:8px; font-size:13px; color:var(--muted); }
.league-form textarea { width:100%; resize:vertical; min-height:100px; }
.league-form button { align-self:start; }
.league-form[hidden] { display:none; }
.league-form .league-check { flex-direction:row; align-items:start; gap:10px; color:var(--ink); }
.league-check input[type="checkbox"] { width:18px; height:18px; padding:0; margin:2px 0 0; flex-shrink:0; }
.league-management hr { border:0; border-top:1px solid var(--line); margin:28px 0; }
#league-board-table .player-table { min-width:640px; }
.league-notice:not(:empty), .league-inbox { border-left:3px solid var(--accent); padding:12px 18px; margin:20px 0; background:#eaf1ed; }
.league-notice:empty { display:none; }
.league-match-grid { display:flex; flex-direction:column; gap:0; margin:14px 0; border-top:1px solid var(--line); }
.league-match { display:grid; grid-template-columns:minmax(0,1fr) 110px; align-items:center; gap:16px; padding:10px 14px; border-bottom:1px solid var(--line); min-width:0; }
.league-match-own { border-left:3px solid var(--accent); background:#eaf1ed; padding-left:11px; }
.league-versus { display:grid; grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr); gap:16px; align-items:center; }
.league-contender { display:flex; flex-direction:column; gap:3px; min-width:0; }
.league-contender strong { overflow-wrap:anywhere; font-size:14px; line-height:1.35; }
.league-contender small { display:inline; font-weight:400; font-size:11px; color:var(--accent); margin-left:5px; }
.league-contender span,.league-match-state { font-size:12px; color:var(--muted); }
.league-contender-winner span { color:var(--accent); font-weight:600; }
.league-match-state { text-align:right; }
.league-vs { font-size:12px; color:var(--muted); }
.league-round-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.league-round-heading h3 { margin:0 0 8px; }
.league-round-heading p { margin:0 0 8px; }
.league-management { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
.league-management > section { min-width:0; }
.league-member, .league-invite-link { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.league-member small, .league-invitation small, .league-invite-link small { color:var(--muted); font-size:12px; }
.league-invitation { padding:16px 0; border-bottom:1px solid var(--line); }
.league-invitation strong, .league-invite-link span { overflow-wrap:anywhere; }
.league-invitation small { display:block; margin-top:6px; }
.league-inline-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.league-secondary { background:transparent; color:var(--accent); border:1px solid #b8c4c2; }
.league-standings { padding:24px 0; border-top:1px solid var(--line); }
.league-standings .player-table { min-width:780px; }
.league-standings:last-child .player-table { min-width:380px; }
.league-own-row { background:#eaf1ed; }
#league-links:not(:empty) { margin:24px 0; }
#league-race-results .player-table { min-width:640px; margin-bottom:24px; }
@media(max-width:900px) { .league-management { grid-template-columns:1fr; gap:24px; } }
@media(max-width:700px) { .league-tabs { flex-wrap:nowrap; overflow-x:auto; } #leagues .league-tabs button { white-space:nowrap; flex-shrink:0; font-size:13px; padding-inline:10px; } .league-versus { gap:8px; grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr); } .league-match { grid-template-columns:minmax(0,1fr) 52px; gap:8px; padding:10px 8px; } .league-contender strong { font-size:13px; } }
@media(max-width:700px) { #leagues .player-controls .player-race-select { flex-basis:100%; max-width:none; } }
.league-home-invitation { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 20px; margin:0 0 20px; border-left:3px solid var(--accent); background:#eaf1ed; }
.league-home-invitation h3 { font-size:18px; margin:0 0 6px; }
.league-home-invitation p { margin:0; }
.league-home-invitation .league-inline-actions { margin:0; flex-shrink:0; }
#league-admin-content { padding:24px 0; border-bottom:1px solid var(--line); }
#league-admin-content[hidden] { display:none; }
#league-admin-content .player-controls { margin-bottom:24px; }
.league-member small { display:block; margin-top:4px; }
.league-admin-start { margin-top:24px; }
@media(max-width:700px) { .league-home-invitation { align-items:start; flex-direction:column; } #league-admin-content .player-controls { flex-wrap:wrap; } #league-admin-content .player-race-select { width:100%; max-width:none; } }
@media(max-width:380px) { .league-match { grid-template-columns:minmax(0,1fr); row-gap:4px; } .league-match-state { font-size:11px; } }
