#view-league { --league-card:#141518; --league-border:#29292e; --league-muted:#8d919a; --league-soft:#aab0ba; color:#f5f5f7; }
.league-page-shell { width:min(100%,1392px);margin:0 auto;padding:24px 0 56px; }
.league-breadcrumb { display:flex;align-items:center;gap:8px;color:var(--league-muted);font-size:11px;margin-bottom:25px; }
.league-breadcrumb a { color:#b4b8c1;text-decoration:none; }.league-breadcrumb a:hover { color:#fff; }.league-breadcrumb svg { width:13px;height:13px; }
.league-hero { display:flex;align-items:center;gap:20px;padding:7px 0 30px; }
.league-hero-logo { width:68px;height:68px;object-fit:contain;flex:0 0 auto; }
.league-logo-fallback { display:grid;place-items:center;background:#211d2b;border:1px solid #403256;color:#b9a3f2;border-radius:12px;font-weight:700; }
.league-hero .league-logo-fallback { width:68px;height:68px;font-size:25px; }
.league-hero-copy { min-width:0;flex:1; }
.league-kicker { display:block;color:#a890ec;font-size:9px;font-weight:700;letter-spacing:.15em;line-height:1.4; }
.league-hero h1 { margin:5px 0 6px;font-size:clamp(25px,3vw,36px);line-height:1.1;letter-spacing:-.045em;font-weight:650; }
.league-hero-copy p { color:var(--league-muted);font-size:12px;margin:0; }.league-hero-copy p span { padding:0 5px;color:#5c5d64; }
.league-hero-status { display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--league-border);border-radius:10px;color:#aeb3bc;background:#ffffff03;font-size:11px;white-space:nowrap; }
.league-hero-status>svg { width:16px;height:16px;color:#a78bfa; }.league-hero-status span { display:grid;gap:4px; }.league-hero-status small { color:#777c85;font-size:10px; }
.league-summary-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--league-border);border-radius:13px;background:var(--league-card);overflow:hidden; }
.league-summary-card { min-width:0;padding:17px 20px 16px;border-right:1px solid #ffffff0b;display:flex;flex-direction:column;gap:5px; }.league-summary-card:last-child { border:0; }
.league-summary-card small { color:#858a93;font-size:9px;letter-spacing:.11em;font-weight:650; }.league-summary-card strong { font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em; }.league-summary-card span { color:#777c85;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.league-section-nav { display:flex;gap:24px;overflow:auto;border-bottom:1px solid var(--league-border);margin:25px 0 27px;scrollbar-width:none; }.league-section-nav::-webkit-scrollbar { display:none; }
.league-section-nav a { position:relative;flex:0 0 auto;padding:0 0 13px;color:#9398a1;font-size:11px;font-weight:550;text-decoration:none; }.league-section-nav a:hover { color:#f5f5f7; }.league-section-nav a:focus-visible { outline-offset:-2px; }
.league-section { scroll-margin-top:92px;margin:0 0 38px; }
.league-section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 17px; }
.league-section-heading h2 { margin:5px 0 4px;font-size:21px;font-weight:600;letter-spacing:-.035em; }.league-section-heading p { margin:0;color:var(--league-muted);font-size:11px;line-height:1.5; }
.league-section-count { padding:6px 9px;border:1px solid var(--league-border);border-radius:999px;color:#a9adb6;font-size:10px;white-space:nowrap; }
.league-table-scroll { overflow:auto;border:1px solid var(--league-border);border-radius:12px;background:var(--league-card);scrollbar-color:#42424b transparent; }
.league-standings-table { width:100%;min-width:1110px;border-collapse:collapse;font-size:11px; }.league-standings-table th { padding:12px 11px;border-bottom:1px solid #ffffff0c;background:#ffffff03;color:#747982;text-align:right;font-size:8px;letter-spacing:.07em;font-weight:650;white-space:nowrap; }.league-standings-table th:nth-child(2) { width:230px;text-align:left; }.league-standings-table th:first-child { width:36px;text-align:center; }
.league-standings-table td { padding:11px;border-bottom:1px solid #ffffff08;text-align:right;color:#b1b4bc;font-variant-numeric:tabular-nums;white-space:nowrap; }.league-standings-table tr:last-child td { border-bottom:0; }.league-standings-table tbody tr:hover td { background:#ffffff03; }
.league-standings-table td:first-child { text-align:center;color:#858993;font-size:10px; }.league-standings-table td:nth-child(2) { text-align:left;white-space:normal;min-width:180px; }.league-position { font-weight:600; }.league-team-link { display:inline-flex;align-items:center;gap:9px;color:#e4e5e9;text-decoration:none;font-weight:550; }.league-team-link:hover { color:#c5b4ff; }.league-team-logo { width:21px;height:21px;object-fit:contain;flex:0 0 auto; }.league-team-logo.league-logo-fallback { width:21px;height:21px;border-radius:6px;font-size:10px; }
.league-promotion { display:block;margin:4px 0 0 30px;color:#777c85;font-size:8px; }.league-goal-diff { color:#d1d3d9!important; }.league-points { color:#fff!important;font-weight:700; }.league-ovr-cell { color:#c7b2ff!important;font-weight:600; }.league-sample-count { display:block;color:#717680;font-size:8px;margin-top:3px; }
.league-form-list { display:inline-flex;gap:3px; }.league-form-dot { width:16px;height:16px;display:grid;place-items:center;border-radius:50%;font-size:8px;font-style:normal;font-weight:700; }.league-form-dot.is-win { color:#62d394;background:#123a27; }.league-form-dot.is-draw { color:#c4c7ce;background:#303136; }.league-form-dot.is-loss { color:#f18c8c;background:#3a2023; }.league-form-dot.is-unknown { color:#999;background:#303136; }
.league-ovr-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.league-ovr-card { min-width:0;padding:14px 15px 12px;border:1px solid var(--league-border);border-radius:11px;background:var(--league-card);text-decoration:none;color:inherit;transition:border-color .15s,background .15s; }.league-ovr-card:hover { border-color:#65528f;background:#19171e; }
.league-ovr-card-top { display:flex;align-items:center;gap:9px; }.league-ovr-rank { color:#70737b;font-size:9px;font-variant-numeric:tabular-nums; }.league-ovr-club { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:550; }.league-ovr-club small { display:block;margin-top:4px;color:#767b84;font-size:9px;font-weight:400; }.league-ovr-score { font-size:20px;font-weight:600;letter-spacing:-.04em;color:#d1c1ff;text-align:right; }.league-ovr-score small { display:block;margin-top:1px;color:#82818b;font-size:7px;letter-spacing:.13em;text-align:right; }
.league-ovr-track { height:3px;margin:13px 0 10px;border-radius:8px;background:#ffffff0c;overflow:hidden; }.league-ovr-track i { display:block;height:100%;background:#9874eb;border-radius:inherit; }.league-ovr-meta { display:flex;justify-content:space-between;gap:10px;color:#777c85;font-size:8px; }.league-ovr-meta b { color:#b7bbc4;font-weight:550; }
.league-leaders-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px; }.league-leader-card,.league-fixtures-card { min-width:0;padding:16px;border:1px solid var(--league-border);border-radius:12px;background:var(--league-card); }
.league-leader-card>header,.league-fixtures-card>header { display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:13px; }.league-leader-card>header h3,.league-fixtures-card>header h3 { margin:0;color:#e8e9ed;font-size:13px;font-weight:570; }.league-leader-card>header p,.league-fixtures-card>header p { margin:5px 0 0;color:#777c85;font-size:9px;line-height:1.4; }.league-leader-card>header svg,.league-fixtures-card>header svg { width:14px;height:14px;color:#77717f; }
.league-leader-card ol { list-style:none;margin:0;padding:0; }.league-leader-card li { display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid #ffffff08; }.league-leader-card li:first-child { border-top:0; }.league-leader-rank { width:16px;color:#727680;font-size:8px;font-variant-numeric:tabular-nums; }.league-leader-card li>img,.league-player-fallback { width:29px;height:29px;object-fit:cover;border-radius:50%;background:#26232d; }.league-player-fallback { display:grid;place-items:center;color:#b9a3f2;font-size:10px; }
.league-leader-copy { min-width:0;flex:1;overflow:hidden; }.league-leader-copy>a { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e2e3e8;text-decoration:none;font-size:10px;font-weight:550; }.league-leader-copy>a:hover { color:#c9b8ff; }.league-leader-copy small { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;color:#737882;font-size:8px; }.league-leader-copy small .league-team-link { gap:0;color:#898d96;font-size:8px;font-weight:400; }.league-leader-card li>strong { color:#d0c0ff;font-size:11px;font-weight:650;text-align:right;white-space:nowrap; }.league-leader-card li>strong small { color:#88828f;font-size:7px;font-weight:500; }.league-leader-empty,.league-empty { padding:16px 0;color:#777c85;font-size:10px; }
.league-fixtures-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }.league-fixture-row { display:grid;grid-template-columns:47px minmax(0,1fr) auto minmax(0,1fr) 13px;align-items:center;gap:8px;padding:10px 0;border-top:1px solid #ffffff08;color:inherit;text-decoration:none; }.league-fixture-row:hover { color:#fff; }.league-fixture-time { color:#aeb1b8;font-size:9px;line-height:1.3; }.league-fixture-time small { display:block;margin-top:3px;color:#767a83;font-size:8px; }.league-fixture-side { display:flex;align-items:center;gap:6px;min-width:0; }.league-fixture-logo { width:17px;height:17px;object-fit:contain;flex:0 0 auto; }.league-fixture-side b { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500; }.league-fixture-away { justify-content:flex-end; }.league-fixture-score { min-width:40px;color:#dedfe3;font-size:10px;text-align:center;font-variant-numeric:tabular-nums; }.league-fixture-row>svg { width:12px;height:12px;color:#676a72; }
.league-method-note { display:flex;gap:10px;padding:14px 15px;border:1px solid #24232a;border-radius:10px;color:#858992;background:#ffffff02; }.league-method-note>svg { width:15px;height:15px;flex:0 0 auto;color:#aa91ec; }.league-method-note p { margin:0;font-size:9px;line-height:1.65; }
.league-open-link { display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #3a3446;border-radius:7px;background:#17141d;color:#c6b4f4;font:inherit;font-size:10px;white-space:nowrap;cursor:pointer; }.league-open-link:hover { border-color:#8062bd;background:#211c2b; }.league-open-link svg { width:12px;height:12px; }
.league-error { max-width:600px;margin:80px auto;padding:30px;border:1px solid var(--league-border);border-radius:14px;background:var(--league-card); }.league-error h1 { margin:9px 0;font-size:22px; }.league-error p { color:var(--league-muted);font-size:12px; }.league-error>a { display:inline-block;margin-top:12px;color:#bba5f5;text-decoration:none;font-size:11px; }
.league-loading { min-height:560px;padding:15px 0; }.league-loading-line,.league-loading-panel,.league-loading-grid i { display:block;border-radius:10px;background:linear-gradient(100deg,#15161a 20%,#232229 38%,#15161a 56%);background-size:250% 100%;animation:league-shimmer 1.3s linear infinite; }.league-loading-title { width:min(320px,60vw);height:32px;margin:14px 0 28px; }.league-loading-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:25px; }.league-loading-grid i { height:91px; }.league-loading-panel { height:400px; }.league-loading .league-kicker { margin-top:10px; }
@keyframes league-shimmer { to { background-position:-250% 0; } }
@media(max-width:1050px) { .league-ovr-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.league-leaders-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .league-page-shell { padding:17px 0 38px; }.league-breadcrumb { margin-bottom:20px; }.league-hero { align-items:flex-start;gap:13px;flex-wrap:wrap;padding-bottom:21px; }.league-hero-logo,.league-hero .league-logo-fallback { width:52px;height:52px; }.league-hero-copy { flex:1 1 calc(100% - 70px); }.league-hero-status { margin-left:65px;padding:8px 10px; }.league-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.league-summary-card { min-height:86px;padding:13px;border-bottom:1px solid #ffffff0b; }.league-summary-card:nth-child(2) { border-right:0; }.league-summary-card:nth-child(3),.league-summary-card:nth-child(4) { border-bottom:0; }.league-summary-card strong { font-size:23px; }.league-section-nav { gap:19px;margin:21px 0 23px; }.league-section-nav a { font-size:10px; }.league-section-heading { align-items:flex-start; }.league-section-heading h2 { font-size:19px; }.league-section-heading p { max-width:300px; }.league-ovr-grid,.league-leaders-grid,.league-fixtures-grid { grid-template-columns:1fr; }.league-ovr-card { padding:13px; }.league-fixtures-card { padding:14px; }.league-fixture-row { grid-template-columns:43px minmax(0,1fr) 39px minmax(0,1fr) 12px;gap:6px; }.league-fixture-side b { font-size:8px; }.league-fixture-logo { width:15px;height:15px; }.league-section { margin-bottom:30px; }.league-loading-grid { grid-template-columns:repeat(2,1fr); }.league-loading-grid i { height:76px; } }
@media(prefers-reduced-motion:reduce) { .league-loading-line,.league-loading-panel,.league-loading-grid i { animation:none; } }

/* Keep the table useful at a glance while leaving provider metrics one click away. */
.league-section-nav { position:sticky;top:68px;z-index:12;padding-top:13px;background:#09090af2;backdrop-filter:blur(14px); }
.league-section-nav a[aria-current="location"] { color:#eee9ff; }
.league-section-nav a[aria-current="location"]::after { content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:#9b7cf0; }
.league-section { scroll-margin-top:126px; }
.league-section-heading { margin-bottom:13px; }
.league-no-data { margin:8px 0 36px;padding:17px 19px;border:1px solid var(--league-border);border-radius:11px;background:var(--league-card);color:#9296a0;font-size:11px;line-height:1.5; }
.league-competition-note { margin:10px 0 0;padding:9px 12px;border:1px solid #25252a;border-radius:8px;color:#898d96;font-size:9px; }
.league-section-heading h2 { margin:0 0 4px; }
.league-standings-table { min-width:760px; }
.league-standings-table th.league-extra-col,.league-standings-table td.league-extra-col { display:none; }
.league-table-scroll.has-details .league-standings-table { min-width:1080px; }
.league-table-scroll.has-details .league-standings-table th.league-extra-col,.league-table-scroll.has-details .league-standings-table td.league-extra-col { display:table-cell; }
.league-table-toolbar { display:flex;justify-content:flex-end;margin:-4px 0 8px; }
.league-table-toolbar .league-open-link { padding:6px 10px;border-color:var(--league-border);background:transparent;color:#aaaeb7;font-size:9px; }
.league-table-toolbar .league-open-link:hover { border-color:#5b4b78;color:#d6c9f6; }
.league-mobile-record { display:none; }
.league-leaders { min-width:0; }
.league-leader-filters { display:flex;gap:7px;overflow-x:auto;margin:0 0 9px;padding:1px 0 4px;scrollbar-width:none; }
.league-leader-filters::-webkit-scrollbar { display:none; }
.league-leader-filters button { flex:0 0 auto;padding:7px 10px;border:1px solid var(--league-border);border-radius:7px;background:transparent;color:#989ca5;font:inherit;font-size:10px;cursor:pointer; }
.league-leader-filters button:hover { color:#e2e1e7;border-color:#4b4655; }
.league-leader-filters button.is-active { border-color:#514465;background:#1a1720;color:#ddd0ff; }
.league-leader-card { max-width:none;padding:5px 16px; }
.league-leader-card ol { display:grid;grid-template-columns:minmax(0,1fr);column-gap:0; }
.league-leader-panel[hidden] { display:none; }
.league-leader-note { margin:7px 0 9px;color:#777c85;font-size:9px; }
.league-leader-card li { padding:9px 0; }
.league-leader-card li>img,.league-player-fallback { width:32px;height:32px; }
.league-leader-copy>a { font-size:11px; }
.league-leader-copy small { font-size:9px; }
.league-leader-copy small .league-team-link { font-size:9px; }
.league-leader-card li>strong { font-size:12px; }
@media(max-width:700px) {
  .league-section-nav { top:60px;gap:17px;margin-top:18px;padding-top:11px; }
  .league-section { scroll-margin-top:108px; }
  .league-standings-table { min-width:360px; }
  .league-standings-table th:nth-child(3),.league-standings-table td:nth-child(3),.league-mobile-hide { display:none; }
  .league-standings-table th:nth-child(2) { width:auto; }
  .league-standings-table td:nth-child(2) { min-width:0;padding-left:9px;padding-right:7px; }
  .league-standings-table th,.league-standings-table td { padding:10px 7px; }
  .league-mobile-record { display:block;margin:4px 0 0 27px;color:#797d86;font-size:8px;white-space:nowrap; }
  .league-standings-table .league-team-link { max-width:100%;gap:6px; }
  .league-standings-table .league-team-link>span:not(.league-logo-fallback) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .league-promotion { max-width:calc(100% - 27px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .league-leader-card { max-width:none;padding:5px 12px; }
  .league-leader-card ol { grid-template-columns:1fr; }
  .league-leader-card li { gap:8px; }
}

.league-ovr-table { width:100%;min-width:620px;border-collapse:collapse;font-size:11px; }
.league-ovr-table th { padding:11px 12px;border-bottom:1px solid #ffffff0c;background:#ffffff03;color:#747982;text-align:right;font-size:8px;letter-spacing:.07em;font-weight:650;white-space:nowrap; }
.league-ovr-table th:first-child,.league-ovr-table td:first-child { width:42px;text-align:center; }
.league-ovr-table th:nth-child(2) { width:34%;text-align:left; }
.league-ovr-table td { padding:10px 12px;border-bottom:1px solid #ffffff08;text-align:right;color:#b1b4bc;font-variant-numeric:tabular-nums;white-space:nowrap; }
.league-ovr-table tbody tr:last-child td { border-bottom:0; }
.league-ovr-table tbody tr:hover td { background:#ffffff03; }
.league-ovr-table .league-ovr-rank-cell { color:#858993;font-size:10px; }
.league-ovr-table td:nth-child(2) { text-align:left; }
.league-ovr-table .league-team-link { max-width:100%;gap:8px; }
.league-ovr-table .league-team-link>span:not(.league-logo-fallback) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.league-ovr-table .league-ovr-value { color:#d1c1ff;font-weight:650; }
.league-ovr-table .league-ovr-position { color:#858993; }
@media(max-width:700px) {
  .league-ovr-table { min-width:480px; }
  .league-ovr-table th,.league-ovr-table td { padding:9px 8px; }
  .league-ovr-table .league-ovr-position { display:none; }
  .league-ovr-table .league-team-link { gap:6px; }
}

.league-leader-card ol { grid-template-columns:minmax(0,1fr);column-gap:0; }
.league-leader-card li { display:grid;grid-template-columns:22px 36px minmax(0,1fr) minmax(72px,auto);align-items:center;gap:12px;min-width:0;padding:10px 0; }
.league-leader-rank { width:auto;text-align:right;font-size:9px; }
.league-leader-card li>img,.league-leader-card li>.league-player-fallback { width:34px;height:34px;margin:0; }
.league-leader-copy { display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0; }
.league-leader-copy>a { line-height:1.3; }
.league-leader-copy small { display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;margin-top:0; }
.league-leader-copy small .league-team-link { flex:0 1 auto;min-width:0;max-width:100%;gap:5px;overflow:hidden; }
.league-leader-copy small .league-team-logo,.league-leader-copy small .league-team-logo.league-logo-fallback { width:16px;height:16px; }
.league-leader-copy small .league-team-logo.league-logo-fallback { border-radius:5px;font-size:8px; }
.league-leader-copy small .league-team-link>span:not(.league-logo-fallback) { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.league-leader-appearances { flex:0 0 auto;color:#737882;font-size:8px; }
.league-leader-card li>strong { min-width:72px;justify-self:end;text-align:right; }
@media(max-width:700px) {
  .league-leader-card li { grid-template-columns:20px 34px minmax(0,1fr) minmax(64px,auto);gap:8px;padding:9px 0; }
  .league-leader-card li>strong { min-width:64px; }
}
