.leagues { display: flex; flex-direction: column; gap: 6px; padding-bottom: 12px; border-bottom: 1px solid #ffffff14; }
.leagues[hidden], .league-new[hidden], .league-sheet [hidden] { display: none; }
.leagues-title { margin: 0; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.league-row { background: linear-gradient(135deg, #ffd1661f, #ffd16608); }
.league-row .league-icon { width: 18px; height: 18px; color: #ffd166; }
.league-place { color: var(--muted); font-size: 13px; }
.league-new { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 44px; padding: 8px 14px; border: 1px solid #ffd16666; border-radius: 999px; background: #0f1115e6; color: var(--text); font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.league-new:hover { background: #1f232ce6; }
.league-new:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }
.league-was { color: var(--muted); font-weight: 600; }
.primary .league-was { color: inherit; opacity: 0.5; margin-left: 4px; }
.league-founding { margin: 10px 0 0; text-align: center; font-size: 13px; font-weight: 600; color: #ffd166; }
.league-new .icon { width: 15px; height: 15px; color: #ffd166; }

#league-form:focus { outline: none; }
.league-sheet .sheet-lead.error { color: var(--land-a); }
.league-sheet .sheet-title { min-width: 0; margin-right: 8px; overflow-wrap: anywhere; }
.league-name { font-size: 17px; }
.league-table { max-height: min(46dvh, 460px); overflow-y: auto; overscroll-behavior: contain; margin: 0 -4px; padding: 2px 4px; }
.league-table .leader-link { background: #ffffff08; }
.league-table .leader-link:hover { background: #ffffff14; }
.league-members { margin: 0; }
.league-columns { display: flex; justify-content: flex-end; margin: 0 0 -8px; padding: 0 12px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.league-confirm { display: flex; flex-wrap: wrap; align-items: center; background: #ff5a5f1f; outline: 1px solid #ff5a5f66; }
.league-confirm .leader-name { flex: 1 1 110px; white-space: normal; overflow-wrap: anywhere; }
.league-confirm-actions { display: flex; gap: 8px; margin-left: auto; }
.league-confirm button { min-height: 32px; padding: 0 12px; border: 0; border-radius: 8px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.league-confirm-cancel { background: #ffffff14; color: var(--text); }
.league-confirm-remove { background: var(--land-a); color: #fff; }
.league-confirm button:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; }
.league-invite { display: flex; align-items: center; justify-content: center; gap: 8px; }
.league-invite .icon { width: 18px; height: 18px; }
.league-invite.glow { animation: league-glow 1.4s ease-out 3; }
.league-leave { align-self: center; color: var(--muted); font-size: 13px; }

@keyframes league-glow {
  0% { box-shadow: 0 0 0 0 #ffd166cc; }
  100% { box-shadow: 0 0 0 14px #ffd16600; }
}

@media (prefers-reduced-motion: reduce) {
  .league-invite.glow { animation: none; box-shadow: 0 0 0 3px #ffd166; }
}
