.league-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:18px;max-width:90rem}.league-card{padding:24px}.league-card h2{margin:0 0 4px}.league-type{font-size:.86rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.league-open{margin-top:10px;padding:9px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface2);color:var(--text);font-weight:700}.league-detail{margin-top:22px;border-top:1px solid var(--border);padding-top:18px}.league-muted,.league-description{color:var(--muted)}.league-documents a{color:var(--accent);font-weight:700}.league-subheading{font-size:1.25rem;margin:22px 0 10px}.league-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.league-table,.board-table{border-collapse:collapse;width:100%;min-width:590px;background:var(--surface)}.league-table th,.league-table td,.board-table th,.board-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border)}.league-table th,.board-table th{background:var(--surface2);font-size:.82rem}.league-table td:first-child{font-weight:700}.league-matches{display:grid;gap:9px}.league-match{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.league-match summary{cursor:pointer;padding:13px;display:flex;align-items:center;gap:14px}.league-match summary time{color:var(--muted);font-size:.9rem;min-width:115px}.league-match summary strong{flex:1}.league-result{color:var(--accent);font-weight:700}.board-table{margin:0;min-width:600px}.spare-board{background:var(--surface2)}.spare-label{color:var(--muted);font-size:.85rem}@media(max-width:750px){.league-match summary{align-items:flex-start;flex-direction:column;gap:2px}.league-match summary time{min-width:0}}
.league-info{margin:0 0 22px;padding:18px 20px;border:1px solid var(--border);border-left:4px solid var(--gold);border-radius:8px;background:var(--surface2)}.league-info h2{font-size:1.15rem;margin:0 0 8px}.league-info p{margin:0;color:var(--muted);white-space:pre-wrap}.league-document-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.league-document-link{padding:7px 11px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--accent);font-weight:700;text-decoration:none}.league-document-link:hover{text-decoration:underline}
.league-card-link{display:block;text-decoration:none;transition:transform .14s ease,border-color .14s ease}.league-card-link:hover{transform:translateY(-2px);border-color:var(--gold)}.league-card-action{display:block;margin-top:16px;color:var(--accent);font-weight:700}
.table-note{margin-left:4px;padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:800;line-height:1;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.table-note:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}

.team-filter-button{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}.team-filter-button:hover,.team-filter-button:focus-visible{text-decoration-color:currentColor}.team-filter-button:focus-visible,.clear-team-filter:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}.league-results-notice{min-height:1.5em;margin:-3px 0 10px;color:var(--muted);font-size:.94rem}.clear-team-filter{margin-left:4px;padding:3px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface2);color:var(--accent);font:inherit;font-weight:700;cursor:pointer}.clear-team-filter:hover{border-color:var(--accent)}

.piece-colour{display:inline-block;width:.76em;height:.76em;margin-right:.48em;vertical-align:-.04em;border-radius:1px;box-sizing:border-box}.piece-white{background:#fff;border:1px solid #111;box-shadow:0 0 0 1px rgba(255,255,255,.55)}.piece-black{background:#111;border:1px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.45)}


.league-section-commentary {
  margin: .2rem 0 1rem;
  color: var(--muted, #c6d6cd);
  font-size: .95rem;
  line-height: 1.55;
}

.league-section-commentary-footer {
  margin-top: 1rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255, 255, 255, .16);
}

.static-results {
  display: grid;
  gap: .65rem;
}

.static-result-card {
  display: grid;
  grid-template-columns: minmax(7.5rem, auto) minmax(0, 1fr) auto;
  gap: .8rem;
  align-items: baseline;
  padding: .75rem .9rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: .55rem;
  background: rgba(255, 255, 255, .035);
}

.static-result-card time {
  color: var(--muted, #c6d6cd);
  font-size: .9rem;
}

@media (max-width: 620px) {
  .static-result-card {
    grid-template-columns: 1fr;
    gap: .3rem;
  }
}
