*{box-sizing:border-box}:root{--fs-white:#fff;--fs-black:#0a0a0a;--fs-purple:#5550ff;--fs-purple-secondary:#908dff;--fs-dark-purple:#0c0020;--purple-30:rgba(85,80,255,.30);--purple-16:rgba(85,80,255,.16);--purple-10:rgba(85,80,255,.10);--purple-05:rgba(85,80,255,.05);--surface-soft:rgba(12,0,32,.035);--surface-soft-2:rgba(12,0,32,.055);--text-secondary:rgba(10,10,10,.64);--text-muted:rgba(10,10,10,.46);--text-on-dark-secondary:rgba(255,255,255,.70);--text-on-dark-muted:rgba(255,255,255,.46);--border-soft:rgba(12,0,32,.10);--border-medium:rgba(12,0,32,.16);--border-dark:rgba(255,255,255,.12);--radius-control:12px;--radius-panel:20px;--shadow-soft:0 4px 14px rgba(12,0,32,.06);--shadow-purple-strong:0 12px 30px rgba(85,80,255,.28);--font-main:"Inter",system-ui,sans-serif;--font-display:"Syne","Inter",system-ui,sans-serif;--shell:min(1180px,calc(100vw - 48px))}
html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#fff;color:var(--fs-black);font-family:var(--font-main);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{width:var(--shell);margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:78px;background:rgba(12,0,32,.82);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}.nav-wrap{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px}.brand{width:fit-content;display:inline-flex;align-items:center;gap:11px}.brand-mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--fs-purple);font-size:13px;font-weight:900}.brand-name{color:#fff;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.04em}.primary-nav{justify-self:center;display:flex;align-items:center;gap:30px}.primary-nav a{color:rgba(255,255,255,.64);font-size:13px;font-weight:700}.primary-nav a:hover,.primary-nav a.active{color:#fff}.nav-actions{display:flex;align-items:center}.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--border-dark);border-radius:12px;background:rgba(255,255,255,.05);align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:18px;height:1.5px;background:#fff}.button{min-height:50px;padding:0 20px;border:1px solid transparent;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}.button-primary{background:var(--fs-purple);color:#fff;box-shadow:var(--shadow-purple-strong)}.button-small{min-height:42px;padding-inline:17px;font-size:13px}
.dark-surface{position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 18% -5%,rgba(85,80,255,.30),transparent 32%),linear-gradient(180deg,var(--fs-dark-purple) 0%,#09080d 100%)}.ratings-hero{padding:148px 0 74px}.ratings-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--fs-purple),transparent)}.ratings-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.72fr);gap:92px;align-items:end}.section-label{display:inline-flex;color:var(--fs-purple);font-size:11px;line-height:1;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.section-label-on-dark{color:var(--fs-purple-secondary)}.hero-heading h1{max-width:760px;margin:18px 0 0;font-family:var(--font-display);font-size:clamp(54px,6vw,86px);line-height:.92;font-weight:600;letter-spacing:-.071em}.hero-heading h1 span{color:var(--fs-purple-secondary)}.hero-side>p{margin:0;color:var(--text-on-dark-secondary);font-size:17px;line-height:1.72}.hero-meta{margin-top:27px;display:flex;gap:26px;flex-wrap:wrap}.hero-meta span{color:var(--text-on-dark-muted);font-size:10px;font-weight:800}.hero-meta b{margin-left:6px;color:#fff;font-size:11px}
.ratings-section,.comparison-section{padding:94px 0 112px}.ratings-head,.comparison-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.62fr);gap:80px;align-items:end;margin-bottom:42px}.ratings-head h2,.comparison-head h2,.about-grid h2{margin:17px 0 0;font-family:var(--font-display);font-size:clamp(42px,4.5vw,64px);line-height:.98;font-weight:600;letter-spacing:-.055em}.ratings-head>p,.comparison-head>p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.72}
.ratings-toolbar label,.team-selectors label{display:grid;gap:7px}.team-selectors label>span{color:var(--text-muted);font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.team-selectors select{width:100%;height:44px;padding:0 12px;border:1px solid transparent;border-radius:10px;background:var(--surface-soft);color:var(--fs-black);font-size:11px;font-weight:700;outline:none}.team-selectors select:focus{border-color:var(--purple-30);background:#fff;box-shadow:0 0 0 4px var(--purple-10)}
.ranking-table-wrap{position:relative;background:#fff;border-top:1px solid var(--border-medium)}.ranking-table{width:100%;border-collapse:collapse;table-layout:fixed}.col-rank{width:8%}.col-team{width:34%}.col-country{width:13%}.col-league{width:19%}.col-index{width:13%}.col-change{width:13%}.ranking-table th{height:54px;padding:0 18px;border-bottom:1px solid var(--border-medium);background:#fafafd;color:var(--text-muted);font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase;text-align:left}.ranking-table td{height:64px;padding:0 18px;border-bottom:1px solid var(--border-soft);font-size:12px;vertical-align:middle}.ranking-table th.numeric,.ranking-table td.numeric{text-align:right}.ranking-table tbody tr:hover{background:var(--purple-05)}.team-cell strong,.team-cell small{display:block}.team-cell strong{font-family:var(--font-display);font-size:15px;font-weight:650}.team-cell small{margin-top:4px;color:var(--text-muted);font-size:9px;font-weight:700}.country-code{display:inline-flex;min-width:36px;height:25px;padding:0 8px;align-items:center;justify-content:center;border-radius:7px;background:var(--surface-soft);color:var(--text-secondary);font-size:8px;font-weight:900}.index-number{font-family:var(--font-display);font-size:18px;font-weight:700}.delta{font-size:11px;font-weight:850}.delta.positive{color:#168653}.delta.negative{color:#c5453c}.delta.neutral{color:var(--text-muted)}.loading-cell{height:180px!important;text-align:center;color:var(--text-muted)}.table-smoke{position:absolute;left:0;right:0;bottom:70px;height:118px;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.5) 35%,rgba(255,255,255,.92) 74%,#fff)}.ranking-table-wrap.expanded .table-smoke{opacity:0}.show-all-row{position:relative;z-index:4;min-height:70px;display:flex;align-items:center;justify-content:center;background:#fff;border-top:1px solid var(--border-soft)}.show-all-button{min-height:40px;padding:0 15px;border:1px solid var(--border-medium);border-radius:12px;background:#fff;display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:11px;font-weight:850}.show-all-button:hover{color:var(--fs-purple);border-color:var(--purple-30);background:var(--purple-05)}.show-all-arrow{color:var(--fs-purple)}.ranking-table-wrap.expanded .show-all-arrow{transform:rotate(180deg)}
.comparison-section{background:var(--surface-soft);border-top:1px solid var(--border-soft)}.comparison-panel{border:1px solid var(--border-medium);border-radius:20px;background:#fff;overflow:hidden}.team-selectors{padding:18px;border-bottom:1px solid var(--border-soft);display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.chart-range{display:flex;gap:4px;padding-bottom:2px}.chart-range button{height:40px;min-width:44px;padding:0 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:9px;font-weight:850}.chart-range button.active{border-color:var(--purple-16);background:var(--purple-10);color:var(--fs-purple)}.selected-team-info{min-height:76px;padding:15px 18px;border-bottom:1px solid var(--border-soft);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.team-info-card{min-width:0;padding-right:16px;border-right:1px solid var(--border-soft)}.team-info-card:last-child{border-right:0}.team-info-card.empty{opacity:.45}.team-info-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.team-info-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display);font-size:13px;font-weight:650}.team-info-value{font-family:var(--font-display);font-size:17px;font-weight:700}.team-info-meta{margin-top:5px;color:var(--text-muted);font-size:9px;font-weight:700}.team-line-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}.line-1{background:#5550ff}.line-2{background:#111}.line-3{background:#908dff}.chart-shell{position:relative;height:430px;padding:18px 18px 10px}#comparison-chart{display:block;width:100%;height:100%;overflow:visible}.chart-tooltip{position:absolute;z-index:5;min-width:112px;padding:9px 10px;border-radius:9px;background:#111;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.22);pointer-events:none;font-size:9px;line-height:1.5}.chart-tooltip strong{display:block;font-size:13px}
.about-section{padding:106px 0;background:#fff;border-top:1px solid var(--border-soft)}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.72fr);gap:100px;align-items:start}.about-copy p{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.75}.about-copy p+p{margin-top:18px}.about-copy a{width:fit-content;margin-top:28px;display:inline-flex;gap:7px;font-size:12px;font-weight:850}.about-copy a span{color:var(--fs-purple)}
.site-footer{padding:70px 0 24px;background:#09080d;color:#fff;border-top:1px solid rgba(255,255,255,.08)}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,.6fr);gap:48px}.footer-brand p{max-width:290px;margin:18px 0 0;color:var(--text-on-dark-muted);font-size:13px;line-height:1.6}.footer-column{display:grid;align-content:start;gap:13px}.footer-column strong{margin-bottom:4px;font-size:12px}.footer-column a{color:var(--text-on-dark-muted);font-size:12px;font-weight:600}.footer-bottom{margin-top:58px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;color:rgba(255,255,255,.35);font-size:11px}
@media(max-width:1080px){:root{--shell:min(100% - 36px,900px)}.nav-wrap{grid-template-columns:auto auto 1fr}.menu-toggle{display:flex;justify-self:end}.primary-nav{position:absolute;inset:78px 18px auto;padding:18px;border:1px solid var(--border-dark);border-radius:20px;background:rgba(12,0,32,.96);display:none;flex-direction:column;align-items:stretch}.primary-nav.open{display:flex}.primary-nav a{padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-actions{justify-self:end}.ratings-hero-grid,.ratings-head,.comparison-head,.about-grid{grid-template-columns:1fr}.ratings-hero-grid{gap:46px}.ratings-head,.comparison-head,.about-grid{gap:42px}.team-selectors{grid-template-columns:1fr 1fr}.selected-team-info{grid-template-columns:1fr}.team-info-card{padding:0 0 12px;border-right:0;border-bottom:1px solid var(--border-soft)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){:root{--shell:calc(100vw - 28px)}.site-header{height:70px}.brand-mark{width:36px;height:36px}.brand-name{font-size:17px}.nav-actions .button{display:none}.primary-nav{inset:70px 14px auto}.ratings-hero{padding:118px 0 60px}.hero-heading h1{font-size:48px}.ratings-section,.comparison-section{padding:74px 0 88px}.ratings-head h2,.comparison-head h2,.about-grid h2{font-size:42px}.team-selectors{grid-template-columns:1fr}.ranking-table th,.ranking-table td{padding-left:9px;padding-right:9px}.col-rank{width:12%}.col-team{width:46%}.col-country{width:18%}.col-index{width:24%}.ranking-table th:nth-child(4),.ranking-table td:nth-child(4),.ranking-table th:nth-child(6),.ranking-table td:nth-child(6){display:none}.chart-shell{height:360px;padding:12px}.about-section{padding:82px 0}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}}

/* v5 — free-flowing ranking + column sorting */
.ranking-table-wrap{overflow:visible}
.ranking-table th{background:#fff}
.ranking-table th:first-child,
.ranking-table td:first-child{padding-left:0}
.ranking-table th:last-child,
.ranking-table td:last-child{padding-right:0}

.sort-button{
  width:100%;
  height:54px;
  padding:0;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--text-muted);
  cursor:pointer;
  font-size:9px;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
  text-align:left;
}
.sort-button i{
  color:rgba(10,10,10,.26);
  font-style:normal;
  font-size:10px;
  line-height:1;
}
.sort-button:hover,
.sort-button.active{color:var(--fs-black)}
.sort-button.active i{color:var(--fs-purple)}
.sort-button-numeric{justify-content:flex-end;text-align:right}

.show-all-row{
  border-top:0;
  border-bottom:1px solid var(--border-medium);
}
.table-smoke{bottom:70px}

/* v5 — comparison section remains structural, not card-like */
.comparison-section{
  background:var(--surface-soft);
  border-top:1px solid var(--border-soft);
}
.comparison-panel{
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible;
}
.team-selectors{
  padding:24px 0 20px;
  border-top:1px solid var(--border-medium);
  border-bottom:1px solid var(--border-soft);
}
.team-selectors select{
  border:1px solid var(--border-soft);
  background:rgba(255,255,255,.72);
}
.selected-team-info{
  padding:20px 0;
  border-bottom:1px solid var(--border-soft);
}
.chart-shell{
  padding:24px 0 6px;
}


/* v6 — table alignment + responsive column balance */
.ranking-table{
  table-layout:fixed;
}

.col-rank{width:9%}
.col-team{width:31%}
.col-country{width:14%}
.col-league{width:18%}
.col-index{width:14%}
.col-change{width:14%}

.ranking-table th,
.ranking-table td{
  text-align:center;
}

.ranking-table th:nth-child(2),
.ranking-table td:nth-child(2){
  text-align:left;
}

.ranking-table th.numeric,
.ranking-table td.numeric{
  text-align:center;
}

.sort-button{
  justify-content:center;
  text-align:center;
}

.ranking-table th:nth-child(2) .sort-button{
  justify-content:flex-start;
  text-align:left;
}

.sort-button-numeric{
  justify-content:center;
  text-align:center;
}

/* Hidden sort icon when inactive; no double arrow */
.sort-button i{
  display:none;
}
.sort-button.active i{
  display:inline;
  color:var(--fs-purple);
}

/* Comparison controls integrated into team cards */
.comparison-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:22px;
  padding:20px 0 18px;
  border-top:1px solid var(--border-medium);
  border-bottom:1px solid var(--border-soft);
}

.selected-team-info{
  min-height:0;
  padding:0;
  border-bottom:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.team-info-card{
  position:relative;
  min-width:0;
  min-height:88px;
  padding:14px 16px;
  border:1px solid var(--border-soft);
  border-radius:12px;
  background:rgba(255,255,255,.78);
}

.team-info-card:last-child{
  border-right:1px solid var(--border-soft);
}

.team-info-card.empty{
  opacity:1;
}

.team-info-select{
  width:100%;
  height:34px;
  padding:0 26px 0 0;
  border:0;
  border-bottom:1px solid var(--border-soft);
  background:transparent;
  color:var(--fs-black);
  font-family:var(--font-display);
  font-size:13px;
  font-weight:650;
  outline:none;
  cursor:pointer;
}

.team-info-select:focus{
  border-bottom-color:var(--purple-30);
}

.team-info-body{
  margin-top:10px;
}

.team-info-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.team-info-name{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--text-secondary);
  font-family:var(--font-main);
  font-size:10px;
  font-weight:750;
}

.team-info-value{
  flex:0 0 auto;
  font-family:var(--font-display);
  font-size:17px;
  font-weight:700;
}

.team-info-meta{
  margin-top:5px;
  color:var(--text-muted);
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.chart-range{
  align-self:end;
  padding-bottom:8px;
}

.chart-shell{
  position:relative;
  height:430px;
  margin-top:16px;
  padding:18px 14px 38px 44px;
  border:1px solid var(--border-soft);
  border-radius:14px;
  background:rgba(255,255,255,.72);
}

.y-axis-label{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%) rotate(-90deg);
  transform-origin:center;
  color:var(--text-muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.x-axis-label{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  color:var(--text-muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#comparison-chart{
  width:100%;
  height:100%;
}

@media(max-width:920px){
  .col-rank{width:10%}
  .col-team{width:34%}
  .col-country{width:14%}
  .col-league{width:18%}
  .col-index{width:12%}
  .col-change{width:12%}

  .comparison-controls{
    grid-template-columns:1fr;
  }

  .chart-range{
    justify-content:flex-start;
    padding-bottom:0;
  }
}

@media(max-width:760px){
  .col-rank{width:12%}
  .col-team{width:48%}
  .col-country{width:18%}
  .col-index{width:22%}

  .selected-team-info{
    grid-template-columns:1fr;
  }

  .team-info-card{
    min-height:82px;
  }

  .chart-shell{
    height:360px;
    padding:16px 10px 36px 38px;
  }
}

.team-selectors{display:none!important}
