:root {
  --bg: #090b12;
  --panel: #0f121c;
  --panel-2: #151925;
  --line: rgba(255,255,255,.095);
  --text: #f5f7fb;
  --muted: #8d95a7;
  --purple: #8b5cf6;
  --purple-2: #b38aff;
  --green: #46d6a5;
  --yellow: #f6c453;
  --max: 1500px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
.section-shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.section-block { padding: 88px 0 30px; scroll-margin-top: 78px; }
.eyebrow { font-size: .74rem; letter-spacing: .19em; font-weight: 800; color: var(--purple-2); text-transform: uppercase; }
.muted { color: var(--muted); }

.site-header {
  height: 76px;
  padding: 0 max(20px, calc((100vw - var(--max))/2));
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(9,11,18,.96);
  position: sticky;
  top: 0;
  z-index: 30;
}
.brand { display: flex; align-items: center; gap: 11px; width: max-content; }
.brand-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 0;
  background: #151925;
  border: 1px solid var(--line);
  color: white;
  font-size: .75rem;
  letter-spacing: .05em;
  font-weight: 900;
}
.brand-mark.small { width: 28px; height: 28px; border-radius: 0; font-size: .62rem; }
.brand-copy { display: flex; flex-direction: column; line-height: 1.02; }
.brand-copy strong { font-size: .8rem; letter-spacing: .09em; }
.brand-copy small { color: var(--muted); font-weight: 700; font-size: .62rem; letter-spacing: .18em; margin-top: 4px; }
.site-header nav { display: flex; align-items: center; gap: 32px; font-size: .84rem; color: #aeb5c5; }
.site-header nav a { transition: .2s ease; }
.site-header nav a:hover { color: white; }
.header-badge { justify-self: end; display:flex; gap:7px; align-items:center; color:#c9ced9; border:1px solid var(--line); padding:8px 10px; border-radius:4px; font-size:.64rem; letter-spacing:.12em; font-weight:800; }
.header-badge span { width:7px; height:7px; border-radius:50%; background:var(--green); }
.menu-toggle { display: none; background: transparent; border: 0; font-size: 1.35rem; }

.hero { min-height:250px; display:flex; align-items:center; padding-top:28px; padding-bottom:28px; }
.hero-copy { max-width:1050px; }
.hero h1 { font-size: clamp(2.7rem, 4.4vw, 4.35rem); line-height: .94; letter-spacing: -.055em; margin: 10px 0 14px; text-transform: uppercase; }
.hero h1 em { font-style: normal; color: var(--purple-2); }
.hero-lead { color: #aeb5c5; max-width: 760px; font-size: .92rem; }
.hero-actions { display:flex; gap:10px; margin: 17px 0 20px; }
.button { padding: 12px 18px; border-radius: 4px; font-weight: 800; font-size: .83rem; border: 1px solid var(--line); transition: .2s ease; }
.button.primary { background: var(--text); color: #090b12; }
.button.primary:hover { background:#dfe3eb; }
.button.ghost:hover { background: rgba(255,255,255,.05); }
.hero-meta { display:flex; gap:28px; flex-wrap:wrap; color: var(--muted); font-size:.72rem; }
.hero-meta span { display:flex; flex-direction:column; gap:4px; }
.hero-meta b { color:#d9dde7; text-transform:uppercase; letter-spacing:.08em; font-size:.64rem; }

.score { display:flex; align-items:flex-end; gap:9px; }
.score strong { font-size:3.2rem; line-height:.82; letter-spacing:-.06em; }
.score span { color:var(--muted); font-size:.64rem; font-weight:900; letter-spacing:.13em; margin-bottom:2px; }
.score.compact strong { font-size:2rem; }
.team-logo { width:52px; height:52px; flex:0 0 52px; display:grid; place-items:center; border-radius:0; font-size:.7rem; font-weight:950; letter-spacing:.05em; background:color-mix(in srgb, var(--accent) 10%, #111520); border:1px solid color-mix(in srgb, var(--accent) 38%, rgba(255,255,255,.08)); color:color-mix(in srgb, var(--accent) 82%, white); }
.team-logo.large { width:66px; height:66px; flex-basis:66px; border-radius:0; font-size:.83rem; }
.team-logo.medium { width:60px; height:60px; margin:20px 0; }

.ticker { display:flex; align-items:stretch; border-block:1px solid var(--line); min-height:184px; overflow:hidden; background:#0b0e16; }
.ticker-label { position:relative; z-index:2; flex:0 0 166px; background:#8b5cf6; padding:22px 18px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:7px; font-size:.68rem; letter-spacing:.11em; font-weight:900; white-space:nowrap; }
.ticker-label span { color:rgba(255,255,255,.72); font-size:.46rem; letter-spacing:.08em; }
.ticker-window { flex:1; min-width:0; overflow:hidden; display:flex; align-items:center; padding:14px 0; cursor:grab; touch-action:pan-y; }
.ticker-window.dragging { cursor:grabbing; }
.ticker-track { display:flex; width:max-content; min-width:max-content; align-items:center; color:#c5cbd8; font-size:.7rem; user-select:none; will-change:transform; }
.ticker-group { display:flex; flex:0 0 auto; align-items:stretch; gap:12px; padding-right:12px; }
.ticker-item { cursor:inherit; -webkit-user-drag:none; }
.ticker-item * { pointer-events:none; -webkit-user-drag:none; }
.tweet-card { width:430px; min-height:154px; flex:0 0 430px; display:grid; grid-template-columns:minmax(0,1fr) 136px; gap:13px; padding:14px; border:1px solid var(--line); background:#111520; color:#fff; transition:border-color .18s ease,background .18s ease; }
.tweet-card:hover { border-color:rgba(139,92,246,.55); background:#141827; }
.tweet-card-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; white-space:normal; }
.tweet-card-head { width:100%; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; }
.tweet-card-avatar { width:28px; height:28px; display:block; border:1px solid rgba(255,255,255,.12); border-radius:50%; object-fit:cover; background:#090c13; }
.tweet-card-avatar-fallback { display:grid; place-items:center; color:#9f7cff; font-size:.66rem; font-weight:950; }
.tweet-card-identity { min-width:0; display:flex; flex-direction:column; line-height:1.15; }
.tweet-card-head strong { min-width:0; overflow:hidden; color:#fff; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.tweet-card-head small { min-width:0; overflow:hidden; color:#8d96a9; font-size:.55rem; text-overflow:ellipsis; white-space:nowrap; }
.tweet-card-head time { color:#9f7cff; font-size:.53rem; font-weight:900; letter-spacing:.07em; }
.tweet-card-text { margin-top:12px; color:#d8dce7; font-size:.67rem; font-weight:700; line-height:1.45; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; }
.tweet-card-link { margin-top:auto; padding-top:9px; color:#9f7cff; font-size:.52rem; font-weight:850; letter-spacing:.04em; }
.tweet-card-media,.tweet-card-placeholder { width:136px; height:124px; align-self:center; display:block; border:1px solid rgba(255,255,255,.08); background:#090c13; }
.tweet-card-media { object-fit:cover; }
.tweet-card-placeholder { display:grid; place-items:center; color:#9f7cff; font-size:2rem; font-weight:950; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:30px; gap:30px; }
.section-heading h2, .method-copy h2 { font-size:clamp(2rem,3.2vw,3rem); line-height:1; letter-spacing:-.045em; margin:10px 0 0; }
.section-heading.compact p { max-width:520px; color:var(--muted); font-size:.83rem; }
.legend { display:flex; gap:15px; color:var(--muted); font-size:.7rem; }
.legend span { display:flex; align-items:center; gap:6px; }
.ranking-live-status { padding:6px 9px; border:1px solid var(--line); border-radius:4px; font-weight:850; letter-spacing:.08em; }
.ranking-live-status.live { color:var(--green); border-color:rgba(70,214,165,.28); background:rgba(70,214,165,.07); }
.dot { width:7px; height:7px; border-radius:50%; background:#666; }
.dot.hot { background:#ff5370; }
.dot.stable { background:#4cd7a5; }
.dot.unknown { background:#7d8497; }

.ranking-table { border-top:1px solid var(--line); border-left:1px solid var(--line); border-right:1px solid var(--line); }
.ranking-table-head, .ranking-row { display:grid; grid-template-columns:64px minmax(210px,1fr) minmax(150px,.72fr) 70px 92px minmax(210px,1fr) 96px 108px; column-gap:18px; align-items:center; }
.ranking-table-head { min-height:38px; padding:0 18px; border-bottom:1px solid var(--line); color:#727b8f; font-size:.5rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.ranking-list { display:block; }
.ranking-row { --accent:#888; min-height:74px; padding:10px 18px; background:color-mix(in srgb,var(--accent) 3%,var(--panel)); border-bottom:1px solid var(--line); cursor:pointer; transition:background .15s ease; position:relative; overflow:hidden; }
.ranking-row::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--accent); opacity:.85; }
.ranking-row:hover { background:color-mix(in srgb,var(--accent) 7%,var(--panel-2)); }
.rank-number { font-size:1.45rem; font-weight:950; letter-spacing:-.05em; color:#f3f5f9; text-align:center; }
.ranking-team-cell { min-width:0; display:flex; align-items:center; gap:12px; }
.ranking-team-cell .team-logo { width:42px; height:42px; flex-basis:42px; border-radius:0; }
.ranking-team-cell h3 { margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1.02rem; }
.ranking-achievements, .team-achievements { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.achievement-badge { display:inline-flex; align-items:center; gap:5px; min-height:23px; padding:3px 7px; border:1px solid #4d5668; background:#121722; color:#c9d0dc; font-size:.54rem; font-weight:900; letter-spacing:.045em; line-height:1; white-space:nowrap; }
.achievement-icon { width:14px; height:14px; flex:0 0 14px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.achievement-badge.title { color:#f5c85b; border-color:rgba(245,200,91,.52); background:rgba(245,200,91,.07); }
.achievement-badge.emea { color:#b9c6dc; border-color:#48556c; background:#131a27; }
.achievement-empty { color:#555e70; font-size:.76rem; }
.ranking-tier { width:38px; padding:4px 0; border:1px solid color-mix(in srgb,var(--accent) 70%,white); color:color-mix(in srgb,var(--accent) 82%,white); background:color-mix(in srgb,var(--accent) 10%,transparent); text-align:center; font-size:.64rem; font-weight:950; }
.ranking-record { font-size:.9rem; font-weight:850; text-align:center; }
.ranking-last-series { color:#c5cbd7; font-size:.67rem; }
.ranking-last-series.empty { color:#626a7c; }
.ranking-rating { font-size:1.7rem; font-weight:950; letter-spacing:-.05em; text-align:right; }
.ranking-movement { display:flex; justify-content:flex-end; align-items:center; gap:8px; text-align:right; font-size:.8rem; line-height:1.15; font-weight:950; }
.ranking-movement .up { color:var(--green); }
.ranking-movement .down { color:#ff6b83; }
.ranking-movement .stable { color:#7f8798; }
.rank-shift { min-width:24px; }
.tier { font-size:.55rem; font-weight:900; letter-spacing:.12em; padding:4px 6px; border-radius:2px; color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, transparent); border:1px solid color-mix(in srgb, var(--accent) 18%, transparent); }
.team-updated { color:#747d90; font-size:.5rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.team-card { --accent:#888; text-align:left; background:color-mix(in srgb,var(--accent) 3%,var(--panel)); border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-top:3px solid var(--accent); border-radius:0; padding:20px 22px 22px; cursor:pointer; min-height:450px; transition:border-color .2s ease, background .2s ease; }
.team-card:hover { border-color:color-mix(in srgb,var(--accent) 48%,var(--line)); background:color-mix(in srgb,var(--accent) 7%,var(--panel-2)); }
.team-card-top { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:var(--muted); font-size:.76rem; font-weight:850; }
.team-card-top > span:last-child { text-align:right; }
.team-card-tier { padding:3px 7px; border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line)); color:color-mix(in srgb,var(--accent) 82%,white); background:color-mix(in srgb,var(--accent) 9%,transparent); font-size:.54rem; letter-spacing:.09em; }
.team-card h3 { margin:0; font-size:1.35rem; letter-spacing:-.03em; }
.team-card > p { margin:5px 0 18px; color:#a3abbb; font-size:.76rem; }
.team-card .team-logo.medium { width:68px; height:68px; margin:22px 0; }
.team-achievements { min-height:23px; margin:-5px 0 10px; }
.team-change-badge { display:inline-flex; margin:6px 0 14px; color:var(--accent); font-size:.62rem; font-weight:900; letter-spacing:.08em; }
.team-card-compare-head, .modal-compare-head { display:grid; grid-template-columns:42px minmax(0,1fr) 18px minmax(0,1fr); gap:8px; color:#929bac; font-size:.55rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.team-card-compare-head span:first-child, .modal-compare-head span:first-child { grid-column:2; }
.team-card-compare-head span:last-child, .modal-compare-head span:last-child { grid-column:4; }
.team-card-roster { display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line); padding-top:8px; }
.roster-change-row { display:grid; grid-template-columns:42px minmax(0,1fr) 18px minmax(0,1fr); align-items:center; gap:8px; min-height:34px; padding:6px 7px; font-size:.78rem; }
.team-card-roster .roster-change-row:nth-child(odd) { background:rgba(255,255,255,.025); }
.roster-change-row small { color:#8992a4; font-size:.54rem; }
.roster-change-row span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.roster-change-row b { color:#505768; text-align:center; }
.roster-change-row .before { color:#9aa3b3; }
.roster-change-row .after { color:#eef1f6; font-weight:750; }
.roster-change-row.changed .after { color:#fff; font-weight:900; }
.roster-change-row.same .before { color:#8c95a6; }
.roster-change-row.same .after { color:#d5dae4; }
.team-card-staff { display:grid; grid-template-columns:64px minmax(0,1fr) 18px minmax(0,1fr); align-items:start; gap:8px; border-top:1px solid var(--line); margin-top:12px; padding:12px 7px 0; font-size:.65rem; line-height:1.5; }
.team-card-staff small { color:#8992a4; font-size:.52rem; }
.team-card-staff b { color:#505768; text-align:center; }
.team-card-staff span { color:#c5cbd6; overflow-wrap:anywhere; }

.matches-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); gap:18px; align-items:start; }
.schedule-card, .results-card { border:1px solid var(--line); background:var(--panel); border-radius:0; overflow:hidden; }
.schedule-card { background:var(--panel); }
.matches-card-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border-bottom:1px solid var(--line); }
.matches-card-head h3 { margin:0; font-size:.94rem; }
.matches-card-head span { color:var(--muted); font-size:.62rem; }
.sync-status.synced { color:var(--green); }
.sync-status.cached { color:var(--yellow); }
.sync-status.local { color:var(--muted); }
.broadcast-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 16px; border-bottom:1px solid var(--line); background:rgba(87,190,246,.035); }
.broadcast-bar[hidden] { display:none; }
.broadcast-copy { display:flex; flex-direction:column; min-width:0; }
.broadcast-status { display:flex; align-items:center; gap:6px; color:#8d95a7; font-size:.48rem; font-weight:950; letter-spacing:.1em; }
.broadcast-status i { width:6px; height:6px; border-radius:50%; background:#6e778b; }
.broadcast-status.live { color:#ff8197; }
.broadcast-status.live i { background:#ff5370; }
.broadcast-copy strong { margin-top:3px; font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.twitch-live-panel[hidden] { display:none; }
.twitch-live-panel { border-bottom:1px solid var(--line); background:#090c13; }
.twitch-live-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 16px; border-bottom:1px solid var(--line); }
.twitch-live-copy { display:flex; flex-direction:column; min-width:0; }
.twitch-live-state { display:flex; align-items:center; gap:6px; color:#ff8197; font-size:.5rem; font-weight:950; letter-spacing:.1em; }
.twitch-live-state i { width:7px; height:7px; border-radius:50%; background:#ff5370; box-shadow:0 0 0 4px rgba(255,83,112,.1); }
.twitch-live-copy strong { margin-top:4px; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.twitch-live-link { padding:7px 10px; border:1px solid rgba(145,70,255,.36); color:#d9c7ff; background:rgba(145,70,255,.1); font-size:.55rem; font-weight:900; white-space:nowrap; }
.twitch-live-link:hover { color:white; background:rgba(145,70,255,.18); }
.twitch-live-player { width:100%; aspect-ratio:16/9; min-height:300px; background:#05070b; }
.twitch-live-player iframe { display:block; width:100%; height:100%; border:0; }
.twitch-live-preview { display:grid; place-items:center; width:100%; height:100%; color:#70798c; font-size:.66rem; }
.twitch-live-mobile { display:none; margin:0; padding:14px 16px; color:#8e97aa; font-size:.62rem; }
.twitch-live-panel[data-state="checking"] .twitch-live-player { opacity:.72; }
.twitch-live-panel[data-state="preview"] .twitch-live-state { color:#9aa3b4; }
.twitch-live-panel[data-state="preview"] .twitch-live-state i { background:#778195; box-shadow:none; }
.schedule-tabs { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; padding:11px 12px; border-bottom:1px solid var(--line); }
.schedule-tab { border:0; border-radius:3px; padding:9px 5px; background:transparent; color:var(--muted); cursor:pointer; font-size:.67rem; font-weight:900; transition:.18s ease; }
.schedule-tab small { display:block; margin-top:3px; color:#666f82; font-size:.48rem; font-weight:750; }
.schedule-tab:hover { color:white; background:rgba(255,255,255,.04); }
.schedule-tab.active { color:white; background:rgba(139,92,246,.17); }
.schedule-tab.active small { color:#bba6ed; }
.schedule-panel { padding:18px; }
.round-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:14px; }
.round-heading h4 { margin:0; font-size:1.12rem; letter-spacing:-.025em; }
.round-heading p { margin:3px 0 0; color:var(--muted); font-size:.58rem; }
.patch-badge { padding:6px 8px; border-radius:3px; color:#8bd8ff; background:rgba(87,190,246,.08); border:1px solid rgba(87,190,246,.18); font-size:.54rem; font-weight:900; letter-spacing:.07em; }
.match-days { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.match-day-card { border:1px solid var(--line); border-radius:0; overflow:hidden; background:rgba(6,8,13,.38); }
.match-date { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid var(--line); color:#d9dde7; font-size:.59rem; font-weight:850; }
.match-date span { color:var(--muted); font-size:.5rem; letter-spacing:.08em; }
.fixture { display:grid; grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr); gap:8px; align-items:center; min-height:58px; padding:10px 11px; border-bottom:1px solid rgba(255,255,255,.045); }
.fixture:last-child { border-bottom:0; }
.fixture-team { font-size:.68rem; font-weight:850; line-height:1.2; }
.fixture-team.right { text-align:right; }
.fixture-time, .fixture-score { text-align:center; color:#71d0ff; background:rgba(87,190,246,.08); border:1px solid rgba(87,190,246,.14); padding:6px 4px; border-radius:0; font-size:.68rem; font-weight:950; }
.fixture-score { display:flex; flex-direction:column; color:#8ce8c7; background:rgba(70,214,165,.07); border-color:rgba(70,214,165,.16); line-height:1; }
.fixture-score small { margin-top:3px; color:#6f9d8e; font-size:.38rem; letter-spacing:.08em; }
.fixture-score.live { color:#ff9aad; background:rgba(255,83,112,.09); border-color:rgba(255,83,112,.26); }
.fixture-score.live small { color:#ff7189; }
.schedule-footer { padding:0 18px 18px; }
.phase-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; padding-top:14px; border-top:1px solid var(--line); }
.phase-strip div { min-width:0; padding:10px; border-radius:0; background:rgba(255,255,255,.025); }
.phase-strip small { display:block; color:var(--muted); font-size:.46rem; letter-spacing:.08em; }
.phase-strip b { display:block; margin-top:3px; font-size:.59rem; }
.results-list { display:flex; flex-direction:column; }
.result-row { display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:center; padding:17px 18px; border-bottom:1px solid var(--line); }
.result-row:last-child { border-bottom:0; }
.result-team { font-size:.7rem; font-weight:800; line-height:1.2; }
.result-team.right { text-align:right; }
.result-score { min-width:54px; text-align:center; padding:7px 5px; border-radius:0; background:#111622; font-size:.88rem; font-weight:950; letter-spacing:.07em; }
.result-meta { grid-column:1/-1; margin-top:-5px; text-align:center; color:var(--muted); font-size:.57rem; letter-spacing:.08em; text-transform:uppercase; }
.result-mvp { grid-column:1/-1; display:flex; align-items:baseline; justify-content:center; gap:7px; margin-top:-3px; color:#d9ddea; font-size:.62rem; line-height:1.25; text-decoration:none; }
.result-mvp strong { color:#9dffdc; font-size:.58rem; letter-spacing:.12em; }
.result-mvp span { font-weight:900; }
.result-mvp small { color:#8f97aa; font-size:.55rem; font-weight:750; }
a.result-mvp:hover span { color:white; }
.results-source { display:block; padding:12px 18px; border-top:1px solid var(--line); color:#9480c7; text-align:right; font-size:.55rem; font-weight:800; }
.results-source:hover { color:#c9b5ff; }

.method-copy { max-width:820px; }
.method-copy p { color:#b0b7c6; font-size:.94rem; max-width:760px; }
.method-rules { list-style:none; display:flex; flex-direction:column; gap:9px; margin:26px 0 0; padding:0; }
.method-rules li { display:grid; grid-template-columns:25px 1fr; gap:11px; align-items:center; color:#b7becc; font-size:.76rem; }
.method-rules span { width:25px; height:25px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--purple-2); font-size:.58rem; font-weight:900; }

footer { border-top:1px solid var(--line); width:min(calc(100% - 40px),var(--max)); margin:0 auto; padding:28px 0 46px; display:grid; grid-template-columns:220px 1fr auto; gap:30px; align-items:start; color:var(--muted); font-size:.65rem; }
.footer-brand { display:flex; align-items:center; gap:9px; color:white; font-size:.7rem; letter-spacing:.06em; }
footer code { color:#d6c7ff; background:rgba(139,92,246,.1); padding:2px 5px; border-radius:5px; }

.team-modal { --accent:#8b5cf6; width:min(920px,calc(100% - 28px)); max-height:90vh; color:var(--text); border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:0; background:#0c0f17; padding:0; box-shadow:0 24px 60px rgba(0,0,0,.62); overflow:auto; }
.team-modal::backdrop { background:rgba(3,5,10,.82); }
.modal-close { position:sticky; float:right; top:14px; right:14px; z-index:5; width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:#151925; cursor:pointer; font-size:1.4rem; line-height:1; }
.modal-hero { padding:34px 34px 30px; display:grid; grid-template-columns:1fr auto; gap:22px; align-items:end; position:relative; overflow:hidden; border-bottom:1px solid var(--line); background:#0f121c; }
.modal-title-wrap { display:flex; gap:17px; align-items:center; position:relative; z-index:2; }
.modal-title-wrap h2 { margin:2px 0; font-size:2.2rem; letter-spacing:-.05em; }
.modal-title-wrap p { color:var(--muted); margin:0; font-size:.7rem; }
.modal-rank { position:absolute; right:40px; top:-18px; font-size:7rem; font-weight:950; color:rgba(255,255,255,.035); letter-spacing:-.08em; }
.modal-grid { display:grid; grid-template-columns:1fr; padding:38px; }
.modal-grid h3 { font-size:.86rem; letter-spacing:.09em; text-transform:uppercase; margin:0 0 18px; }
.modal-auto-summary { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; margin:0 34px 20px; padding:13px 15px; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); background:color-mix(in srgb,var(--accent) 5%,transparent); border-radius:0; font-size:.7rem; }
.modal-auto-summary > span { color:var(--green); font-weight:900; letter-spacing:.1em; }
.modal-auto-summary p { margin:0; color:#b8bfcc; }
.modal-achievements { margin:20px 34px 0; padding:18px 20px; border:1px solid var(--line); background:#0f131d; }
.modal-achievements h3 { margin:0 0 13px; color:#eef1f6; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; }
.modal-achievement-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.modal-achievement-row { display:grid; grid-template-columns:52px minmax(0,1fr); min-height:62px; padding:0; border:1px solid #30384a; background:#111722; overflow:hidden; }
.modal-achievement-row.title { border-color:rgba(245,200,91,.36); background:rgba(245,200,91,.045); }
.modal-achievement-icon { display:grid; place-items:center; align-self:stretch; color:#aebbd0; background:#182131; border-right:1px solid #30384a; }
.modal-achievement-icon .achievement-icon { width:20px; height:20px; }
.modal-achievement-row.title .modal-achievement-icon { color:#f5c85b; background:rgba(245,200,91,.11); border-right-color:rgba(245,200,91,.28); }
.modal-achievement-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:10px 14px; }
.modal-achievement-copy strong, .modal-achievement-copy > span { display:block; }
.modal-achievement-row strong { color:#eef1f6; font-size:.72rem; }
.modal-achievement-copy > span { margin-top:5px; color:#8993a6; font-size:.6rem; }
.roster-comparison { min-width:0; }
.roster-comparison .roster-heading-row { margin-bottom:14px; }
.roster-comparison .roster-heading-row h3 { margin:0; }
.modal-compare-list { display:flex; flex-direction:column; gap:7px; border-top:1px solid var(--line); padding-top:13px; }
.modal-compare-list .roster-change-row { min-height:38px; grid-template-columns:48px minmax(0,1fr) 20px minmax(0,1fr); padding:5px 0; font-size:.86rem; }
.modal-compare-list .roster-change-row small { font-size:.58rem; }
.people-comparison { display:grid; grid-template-columns:104px minmax(0,1fr) 20px minmax(0,1fr); gap:9px; align-items:start; border-top:1px solid var(--line); margin-top:14px; padding-top:14px; font-size:.78rem; line-height:1.6; }
.people-comparison small { color:var(--muted); font-size:.55rem; font-weight:900; letter-spacing:.08em; }
.people-comparison b { color:#505768; text-align:center; }
.people-comparison span { color:#b8bfcc; }
.mid-split-roster { margin-top:26px; padding-top:22px; border-top:1px solid var(--line); }
.mid-split-roster h4 { margin:0 0 14px; color:#f0c76a; font-size:.62rem; letter-spacing:.11em; }
.mid-split-history { margin-top:15px; border-top:1px solid var(--line); }
.mid-split-change-row { display:grid; grid-template-columns:82px 54px minmax(0,1fr) 20px minmax(0,1fr) auto; gap:8px; align-items:center; padding:11px 0; border-bottom:1px solid var(--line); font-size:.7rem; }
.mid-split-change-row time, .mid-split-change-row small { color:#8992a4; font-size:.54rem; font-weight:850; }
.mid-split-change-row b { color:#505768; text-align:center; }
.mid-split-change-row a { color:#a995ff; font-size:.52rem; font-weight:850; text-decoration:none; }
.roster-source { color:#a995ff; font-size:.63rem; text-align:right; text-decoration:none; }
.roster-source:hover { color:#d4c9ff; }

@media (max-width: 1120px) {
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .ranking-table-head, .ranking-row { grid-template-columns:52px minmax(180px,1fr) 54px 72px minmax(160px,1fr) 74px 92px; column-gap:14px; }
  .ranking-table-head span:nth-child(3), .ranking-achievements { display:none; }
}

@media (max-width: 980px) {
  .site-header { grid-template-columns:1fr auto; }
  .site-header nav { display:none; position:absolute; top:76px; left:0; right:0; padding:18px 20px; background:#0c0f17; border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; }
  .site-header nav.open { display:flex; }
  .header-badge { display:none; }
  .menu-toggle { display:block; justify-self:end; }
  .hero { padding-top:38px; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  footer { grid-template-columns:1fr; }
}

@media (max-width: 650px) {
  .section-shell { width:min(calc(100% - 24px),var(--max)); }
  .site-header { padding-inline:12px; }
  .brand-copy small { display:none; }
  .hero { padding-top:30px; padding-bottom:30px; min-height:unset; }
  .hero h1 { font-size:2.85rem; }
  .hero-meta { gap:15px; }
  .hero-actions { flex-wrap:wrap; }
  .ticker { min-height:unset; display:block; }
  .ticker-label { min-height:44px; padding:8px 14px; flex-direction:row; justify-content:flex-start; align-items:center; gap:10px; font-size:.58rem; }
  .ticker-label span { font-size:.42rem; }
  .ticker-window { padding:10px 0; }
  .ticker-group { gap:9px; padding-right:9px; }
  .tweet-card { width:330px; min-height:142px; flex-basis:330px; grid-template-columns:minmax(0,1fr) 102px; padding:12px; gap:10px; }
  .tweet-card-media,.tweet-card-placeholder { width:102px; height:112px; }
  .tweet-card-text { margin-top:9px; font-size:.61rem; -webkit-line-clamp:4; }
  .section-block { padding-top:66px; }
  .section-heading { align-items:flex-start; flex-direction:column; margin-bottom:22px; }
  .legend { flex-wrap:wrap; }
  .legend > span:not(.ranking-live-status) { display:none; }
  .ranking-table-head, .ranking-row { grid-template-columns:38px minmax(0,1fr) 38px 54px 76px; column-gap:9px; padding-inline:10px; }
  .ranking-table-head span:nth-child(5), .ranking-table-head span:nth-child(6), .ranking-record, .ranking-last-series { display:none; }
  .ranking-row { min-height:68px; }
  .ranking-team-cell { gap:8px; }
  .ranking-team-cell .team-logo { width:36px; height:36px; flex-basis:36px; }
  .rank-number { font-size:.92rem; }
  .ranking-team-cell h3 { font-size:.86rem; line-height:1.15; }
  .ranking-tier { width:32px; padding:3px 0; font-size:.57rem; }
  .ranking-rating { font-size:1.3rem; }
  .ranking-movement { font-size:.64rem; }
  .team-grid { grid-template-columns:1fr; }
  .modal-hero { grid-template-columns:1fr; padding:24px; }
  .modal-grid { grid-template-columns:1fr; padding:24px; gap:28px; }
  .modal-auto-summary { margin:0 24px 16px; grid-template-columns:1fr; gap:5px; }
  .modal-achievements { margin:16px 24px 0; padding:15px; }
  .modal-achievement-list { grid-template-columns:1fr; }
  .people-comparison { grid-template-columns:70px minmax(0,1fr) 16px minmax(0,1fr); }
  .modal-title-wrap h2 { font-size:1.45rem; }
}

.brand-logo { background:#121622; padding:5px; overflow:hidden; }
.brand-logo img { width:100%; height:100%; object-fit:contain; display:block; }
.team-logo { overflow:hidden; }
.team-logo img { width:76%; height:76%; object-fit:contain; display:block; }
.team-logo img.logo-invert { filter:invert(1); }
.team-logo span { position:relative; z-index:1; }
.team-card-verify { min-height:25px; margin-bottom:10px; display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.card-updated, .modal-updated { color:#747d90; font-size:.5rem; font-weight:800; white-space:nowrap; }
.team-card .card-updated { color:#8b94a7; font-size:.56rem; }
.modal-verify { margin-top:9px; display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.roster-heading-row { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.source-grid { display:flex; flex-wrap:wrap; gap:8px; }
.source-card { min-width:175px; flex:1 1 175px; border:1px solid var(--line); border-radius:0; padding:11px 12px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; align-items:center; transition:.2s ease; }
.source-card:hover { border-color:rgba(139,92,246,.38); background:rgba(139,92,246,.05); }
.source-card h3 { margin:0; font-size:.72rem; }
.source-card p { grid-column:1; color:var(--muted); font-size:.55rem; margin:0; }
.source-arrow { grid-column:2; grid-row:1/3; color:#8992a5; font-size:.85rem; }
@media (max-width:980px){ .matches-layout{grid-template-columns:1fr;} }
@media (max-width:650px){ .source-card{flex-basis:100%} .roster-heading-row{align-items:flex-start;flex-direction:column;gap:5px}.roster-source{text-align:left}.brand-logo{padding:4px}.result-row{padding:16px 14px;gap:8px}.result-team{font-size:.68rem}.result-mvp{flex-wrap:wrap;gap:4px 7px}.result-mvp small{flex-basis:100%;text-align:center}.mid-split-change-row{grid-template-columns:64px 45px minmax(0,1fr) 14px minmax(0,1fr)}.mid-split-change-row a{grid-column:3/-1}.broadcast-bar{align-items:flex-start;flex-direction:column}.twitch-live-head{align-items:flex-start;flex-direction:column}.schedule-tabs{gap:4px;padding:9px}.schedule-tab{padding:8px 3px}.schedule-panel{padding:13px}.match-days{grid-template-columns:1fr}.fixture{min-height:54px;padding:9px}.fixture-team{font-size:.64rem}.phase-strip{grid-template-columns:repeat(2,1fr)} }
@media (max-width:480px){ .twitch-live-player{display:none}.twitch-live-mobile{display:block} }
