/* ── CSS Variables ───────────────────────────────────────── */
:root {
    --bg:#eef0f3; --panel:#ffffff; --header-bg:#1a1a2e; --lg-head:#f5f6f8;
    --border:#e2e5ea; --text:#1a1d23; --text2:#5a6270; --text3:#b0b8c4;
    --accent:#e91e8c; --hover:#f9fafb; --match-brd:#eff1f4;
    --badge-bg:#eef0f3; --badge-text:#5a6270; --sb-link:#3d4450;
    --scrollbar:#d0d5de; --shadow-sm:0 1px 3px rgba(0,0,0,.06);
    --stat-bar:#e2e5ea; --hero-bg:#1a1a2e; --hero-text:#ffffff;
    --mc-bg:#ffffff; --mc-live-bg:rgba(233,30,140,.04); --mc-live-brd:#e91e8c;
    --round-btn:#f0f1f4; --round-btn-text:#5a6270;
}
[data-theme="dark"] {
    --bg:#080d14; --panel:#0f1623; --header-bg:#090e1a; --lg-head:#0b1220;
    --border:rgba(255,255,255,.06); --text:#e8edf5; --text2:#a8b3c4; --text3:#5a6a80;
    --accent:#e91e8c; --hover:rgba(255,255,255,.025); --match-brd:rgba(255,255,255,.04);
    --badge-bg:rgba(255,255,255,.07); --badge-text:#a8b3c4; --sb-link:#a8b3c4;
    --scrollbar:#1a2235; --shadow-sm:none;
    --stat-bar:rgba(255,255,255,.08); --hero-bg:#090e1a;
    --mc-bg:#0f1623; --mc-live-bg:rgba(233,30,140,.07); --mc-live-brd:#e91e8c;
    --round-btn:rgba(255,255,255,.06); --round-btn-text:#a8b3c4;
}
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; padding:0; background:var(--bg); color:var(--text);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
    font-size:14px; line-height:1.5; }
@keyframes lp-pulse { 0%,100%{opacity:1} 50%{opacity:.6} }

/* ── Header ─────────────────────────────────────────────── */
.lp-header {
    position:sticky; top:0; z-index:200;
    background:var(--header-bg); border-bottom:2px solid var(--accent);
    display:flex; align-items:center; justify-content:space-between;
    padding:0 28px; height:100px;
}
.lp-header-left { display:flex; align-items:center; gap:10px; min-width:0; }
.lp-logo-link { display:flex; align-items:center; gap:7px; text-decoration:none; flex-shrink:0; }
.lp-logo-img  { height:88px; width:auto; object-fit:contain; }
.lp-site-name { font-size:13px; font-weight:700; color:#fff; letter-spacing:.4px; white-space:nowrap; }
.lp-header-sep { color:rgba(255,255,255,.22); font-size:18px; flex-shrink:0; }
.lp-header-bc  { display:flex; align-items:center; gap:6px; min-width:0; overflow:hidden; }
.lp-header-bc a { font-size:12px; color:rgba(255,255,255,.5); text-decoration:none; white-space:nowrap; }
.lp-header-bc a:hover { color:#fff; }
.lp-header-bc span { color:rgba(255,255,255,.25); font-size:13px; }
.lp-header-bc strong { font-size:13px; font-weight:600; color:rgba(255,255,255,.9); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lp-toggle { display:flex; align-items:center; gap:8px; cursor:pointer; user-select:none; flex-shrink:0; }
.lp-toggle input { display:none; }
.lp-toggle-track { width:38px; height:20px; border-radius:10px; background:rgba(255,255,255,.18); position:relative; transition:background .25s; }
.lp-toggle input:checked + .lp-toggle-track { background:var(--accent); }
.lp-toggle-knob { position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .22s; }
.lp-toggle input:checked + .lp-toggle-track .lp-toggle-knob { transform:translateX(18px); }

/* ── App layout ──────────────────────────────────────────── */
.lp-app { max-width:1480px; margin:0 auto; }
.lp-layout { display:grid; grid-template-columns:210px 1fr; gap:0 12px; padding:12px 12px 0; }

/* ── Sidebar ─────────────────────────────────────────────── */
.lp-sidebar {
    background:var(--panel); border:1px solid var(--border); border-radius:8px;
    position:sticky; top:66px; height:calc(100vh - 66px);
    overflow-y:auto; scrollbar-width:thin;
    scrollbar-color:var(--scrollbar) transparent; transition:background .25s;
}
.wls-sb-section { border-bottom:1px solid var(--border); padding-bottom:8px; }
.wls-sb-label { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--text3); padding:16px 16px 7px; margin:0; }
.wls-sb-list { list-style:none; margin:0; padding:0; }
.wls-sb-list li a { display:flex; align-items:center; gap:6px; padding:7px 16px 7px 18px; color:var(--sb-link); text-decoration:none; font-size:12.5px; border-left:2px solid transparent; transition:all .14s; }
.wls-sb-list li a:hover { color:var(--accent); border-left-color:var(--accent); background:var(--hover); padding-left:20px; }
.wls-sb-list li a.active { color:var(--accent); border-left-color:var(--accent); font-weight:600; }
.wls-sb-list li a img { flex-shrink:0; object-fit:contain; }
.wls-acc-btn { width:100%; display:flex; align-items:center; justify-content:space-between; padding:7px 16px; border:none; background:none; cursor:pointer; font-size:12.5px; color:var(--sb-link); text-align:left; transition:all .14s; }
.wls-acc-btn:hover { background:var(--hover); color:var(--text); }
.wls-acc-arrow { font-size:8px; color:var(--text3); transition:transform .18s; margin-left:4px; }
.wls-acc-group.open .wls-acc-arrow { transform:rotate(90deg); }
.wls-acc-body { display:none; padding-left:10px; }
.wls-acc-group.open .wls-acc-body { display:block; }

/* ── Main ────────────────────────────────────────────────── */
.lp-main { display:flex; flex-direction:column; min-width:0; }

/* ── Hero ────────────────────────────────────────────────── */
.lp-hero {
    background:var(--hero-bg); color:#fff;
    padding:28px 32px 20px; border-radius:8px; margin-bottom:8px;
    border:1px solid rgba(255,255,255,.06);
}
.lp-hero-inner { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.lp-hero-logo { width:72px; height:72px; object-fit:contain; flex-shrink:0; background:rgba(255,255,255,.95); border-radius:10px; padding:8px; }
.lp-hero-logo-ph { width:72px; height:72px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:30px; flex-shrink:0; }
.lp-hero-info { flex:1; min-width:0; }
.lp-hero-country { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:rgba(255,255,255,.45); margin:0 0 4px; }
.lp-hero-name { font-size:24px; font-weight:800; line-height:1.2; margin:0 0 6px; color:#fff; }
.lp-hero-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:6px; }
.lp-hero-badge { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; padding:3px 10px; border-radius:4px; }
.lp-hero-badge.league  { background:rgba(233,30,140,.25); color:#e91e8c; border:1px solid rgba(233,30,140,.4); }
.lp-hero-badge.cup     { background:rgba(245,158,11,.2); color:#f59e0b; border:1px solid rgba(245,158,11,.35); }
.lp-hero-badge.mixed   { background:rgba(99,102,241,.2); color:#a5b4fc; border:1px solid rgba(99,102,241,.35); }
.lp-hero-season { font-size:12px; color:rgba(255,255,255,.7); padding:3px 10px 3px 8px; background:rgba(255,255,255,.08); border-radius:4px; border:1px solid rgba(255,255,255,.15); cursor:pointer; font-family:inherit; transition:all .15s; width:auto; }
.lp-hero-season:hover { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.3); }
.lp-hero-season:focus { outline:none; border-color:var(--accent); }
.lp-hero-stats { display:flex; align-items:center; gap:24px; margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.08); }
.lp-hero-stat { text-align:center; }
.lp-hero-stat-num { font-size:22px; font-weight:800; color:#fff; line-height:1; }
.lp-hero-stat-num.accent { color:var(--accent); animation:lp-pulse 1.8s infinite; }
.lp-hero-stat-label { font-size:10px; color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.5px; margin-top:2px; }

/* ── Stage Selector ──────────────────────────────────────── */
.lp-stage-wrap { display:flex; align-items:center; gap:6px; padding:10px 16px; background:var(--panel); border:1px solid var(--border); border-radius:8px; margin-bottom:8px; overflow-x:auto; scrollbar-width:none; }
.lp-stage-wrap::-webkit-scrollbar { display:none; }
.lp-stage-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--text3); flex-shrink:0; margin-right:4px; }
.lp-stage-btn { padding:5px 14px; border:1px solid var(--border); border-radius:20px; background:transparent; color:var(--text2); font-size:12px; font-weight:600; cursor:pointer; transition:all .14s; white-space:nowrap; flex-shrink:0; }
.lp-stage-btn:hover { border-color:var(--accent); color:var(--accent); }
.lp-stage-btn.active { background:var(--accent); color:#fff; border-color:var(--accent); }

/* ── Tabs ────────────────────────────────────────────────── */
.lp-tabs-wrap { background:var(--header-bg); border-bottom:2px solid var(--accent); position:sticky; top:100px; z-index:90; transition:background .25s; }
.lp-tabs { display:flex; overflow-x:auto; scrollbar-width:none; }
.lp-tabs::-webkit-scrollbar { display:none; }
.lp-tab-btn { padding:13px 18px; font-size:13px; font-weight:500; color:rgba(255,255,255,.55); border:none; border-radius:0; background:none; cursor:pointer; white-space:nowrap; border-bottom:3px solid transparent; margin-bottom:-2px; transition:all .14s; position:relative; text-decoration:none; display:inline-block; }
.lp-tab-btn:hover { background:var(--accent); color:#fff; }
.lp-tab-btn.active { color:#fff; border-bottom-color:#fff; font-weight:600; background:none; }
.lp-tab-live-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--accent); margin-left:5px; animation:lp-pulse 1.8s infinite; vertical-align:middle; }

/* ── Panels ──────────────────────────────────────────────── */
.lp-panels { background:var(--panel); border:1px solid var(--border); border-top:none; border-radius:0 0 8px 8px; margin-bottom:24px; min-height:300px; transition:background .25s; }
.lp-panel  { display:none; }
.lp-panel.active { display:block; }

/* ── Section header ──────────────────────────────────────── */
.lp-section-head { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid var(--border); background:var(--lg-head); transition:background .25s; }
.lp-section-title { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--text3); margin:0; }
.lp-section-link  { font-size:11.5px; color:var(--accent); text-decoration:none; font-weight:600; }
.lp-section-link:hover { text-decoration:underline; }

/* ── Match Card ──────────────────────────────────────────── */
.lp-mc { display:grid; grid-template-columns:62px 1fr 76px 1fr 20px; align-items:center; padding:10px 16px; text-decoration:none; color:var(--text); border-bottom:1px solid var(--border); transition:background .12s; min-height:48px; }
.lp-mc:last-child { border-bottom:none; }
.lp-mc:hover { background:var(--hover); }
.lp-mc-live { background:var(--mc-live-bg); border-left:2px solid var(--mc-live-brd); padding-left:14px; }
.lp-mc-time { text-align:center; font-size:11.5px; }
.lp-badge-live { display:inline-block; background:var(--accent); color:#fff; padding:2px 6px; border-radius:3px; font-size:9.5px; font-weight:700; animation:lp-pulse 1.8s infinite; letter-spacing:.3px; }
.lp-badge-ht  { display:inline-block; background:#f59e0b; color:#fff; padding:2px 6px; border-radius:3px; font-size:9.5px; font-weight:700; }
.lp-badge-ft  { color:var(--text3); font-weight:700; font-size:11px; }
.lp-badge-ns  { color:var(--text2); font-weight:600; font-size:11px; line-height:1.3; text-align:center; }
.lp-mc-home { display:flex; align-items:center; gap:6px; overflow:hidden; }
.lp-mc-home span { font-size:13px; font-weight:500; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lp-mc-home img { flex-shrink:0; object-fit:contain; }
.lp-mc-score { display:flex; align-items:center; justify-content:center; gap:3px; font-size:15px; font-weight:700; color:var(--text); }
.lp-mc-sep { color:var(--text3); font-weight:300; font-size:13px; }
.lp-mc-vs  { color:var(--text3); font-weight:400; font-size:14px; }
.lp-mc-live .lp-mc-score { color:var(--accent); }
.lp-mc-away { display:flex; align-items:center; gap:6px; justify-content:flex-end; overflow:hidden; }
.lp-mc-away span { font-size:13px; font-weight:500; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:right; }
.lp-mc-away img { flex-shrink:0; object-fit:contain; }
.lp-mc-arr { color:var(--text3); font-size:16px; text-align:right; transition:color .12s; }
.lp-mc:hover .lp-mc-arr { color:var(--accent); }

/* ── Round selector ──────────────────────────────────────── */
.lp-rounds-bar { display:flex; gap:6px; padding:10px 16px; overflow-x:auto; scrollbar-width:none; border-bottom:1px solid var(--border); flex-wrap:nowrap; }
.lp-rounds-bar::-webkit-scrollbar { display:none; }
.lp-round-btn { padding:4px 12px; border:1px solid var(--border); border-radius:16px; background:var(--round-btn); color:var(--round-btn-text); font-size:11.5px; font-weight:600; cursor:pointer; transition:all .14s; white-space:nowrap; flex-shrink:0; }
.lp-round-btn:hover { border-color:var(--accent); color:var(--accent); }
.lp-round-btn.active { background:var(--accent); color:#fff; border-color:var(--accent); }

/* ── Round group heading ─────────────────────────────────── */
.lp-round-head { padding:8px 16px; background:var(--lg-head); border-bottom:1px solid var(--border); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--text3); display:flex; align-items:center; gap:8px; transition:background .25s; }
.lp-round-group { display:none; }
.lp-round-group.visible { display:block; }

/* ── Overview grid ───────────────────────────────────────── */
.lp-overview-grid { display:grid; grid-template-columns:1fr 360px; gap:0; }
.lp-ov-left { border-right:1px solid var(--border); }
.lp-ov-right {}

/* ── Standings table ─────────────────────────────────────── */
.lp-st-wrap  { overflow-x:auto; }
.lp-st-group-tabs { display:flex; gap:0; border-bottom:1px solid var(--border); overflow-x:auto; scrollbar-width:none; }
.lp-st-group-tabs::-webkit-scrollbar { display:none; }
/* ── MX stage selector (Apertura/Clausura) ────────────── */
.lp-mx-stage-bar { display:flex; gap:0; background:var(--header-bg); border-bottom:1px solid rgba(255,255,255,.08); }
.lp-mx-stage-btn { flex:1; padding:10px 20px; background:transparent; border:none; color:rgba(255,255,255,.55); font-size:13px; font-weight:600; cursor:pointer; transition:all .14s; border-bottom:3px solid transparent; letter-spacing:.3px; }
.lp-mx-stage-btn:hover { background:var(--accent); color:#fff; }
.lp-mx-stage-btn.active { color:#fff; border-bottom-color:#fff; }
.lp-mx-hidden { display:none !important; }

.lp-st-stage-tabs { display:flex; gap:8px; padding:12px 16px; border-bottom:1px solid var(--border); background:var(--lg-head); flex-wrap:wrap; }
.lp-st-stagebtn { padding:6px 16px; border:1px solid var(--border); border-radius:20px; background:transparent; color:var(--text2); font-size:12px; font-weight:600; cursor:pointer; transition:all .14s; white-space:nowrap; }
.lp-st-stagebtn:hover { border-color:var(--accent); color:var(--accent); }
.lp-st-stagebtn.active { background:var(--accent); color:#fff; border-color:var(--accent); }
.lp-st-stage-panel { display:none; }
.lp-st-stage-panel.active { display:block; }
.lp-st-gtab  { padding:9px 16px; font-size:12.5px; font-weight:600; color:var(--text2); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; white-space:nowrap; transition:all .14s; background:none; border-top:none; border-left:none; border-right:none; }
.lp-st-gtab:hover { color:var(--text); }
.lp-st-gtab.active { color:var(--accent); border-bottom-color:var(--accent); }
.lp-st-group-panel { display:none; }
.lp-st-group-panel.active { display:block; }
.lp-st-group-hdr { padding:10px 16px; background:var(--lg-head); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--text3); border-bottom:1px solid var(--border); border-top:1px solid var(--border); }
.lp-st-table { width:100%; border-collapse:collapse; font-size:12.5px; }
.lp-st-table thead { background:var(--lg-head); transition:background .25s; }
.lp-st-table th { padding:8px 6px; text-align:center; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--text3); border-bottom:1px solid var(--border); }
.lp-st-table td { padding:9px 6px; text-align:center; border-bottom:1px solid var(--border); color:var(--text2); font-variant-numeric:tabular-nums; }
.lp-st-table tbody tr:hover td { background:var(--hover); }
.lp-st-col-pos  { width:28px; font-weight:600; color:var(--text3); }
.lp-st-col-team { text-align:left !important; padding-left:10px !important; }
.lp-st-col-team-cell { display:flex; align-items:center; gap:6px; text-decoration:none; color:inherit; }
.lp-st-col-team-cell:hover span { color:var(--accent); }
.lp-st-col-team-cell img { width:18px; height:18px; object-fit:contain; flex-shrink:0; }
.lp-st-col-team-cell span { color:var(--text); font-weight:500; font-size:12.5px; transition:color .12s; }
.lp-st-col-pts { font-weight:700; color:var(--accent); }
.lp-st-form { display:inline-flex; gap:3px; }
.lp-st-dot { width:17px; height:17px; border-radius:50%; font-size:9px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; color:#fff; }
.lp-st-dot.w { background:#16a34a; }
.lp-st-dot.d { background:#d97706; }
.lp-st-dot.l { background:#dc2626; }

/* Zone highlighting for standings */
.lp-st-table tr.zone-promotion td:first-child { box-shadow:inset 3px 0 0 #16a34a; }
.lp-st-table tr.zone-playoff td:first-child { box-shadow:inset 3px 0 0 #6366f1; }
.lp-st-table tr.zone-qualification td:first-child { box-shadow:inset 3px 0 0 #2563eb; }
.lp-st-table tr.zone-relegation td:first-child { box-shadow:inset 3px 0 0 #dc2626; }
.lp-st-legend { display:flex; gap:16px; padding:8px 16px; font-size:11px; color:var(--text3); flex-wrap:wrap; border-top:1px solid var(--border); }
.lp-st-legend-item { display:flex; align-items:center; gap:5px; }
.lp-st-legend-dot { width:10px; height:10px; border-radius:2px; flex-shrink:0; }
.lp-st-hl td { background:rgba(233,30,140,.05) !important; }

/* ── Top Scorers ─────────────────────────────────────────── */
.lp-scorers-tabs { display:flex; background:var(--header-bg); border-bottom:2px solid var(--accent); }
.lp-scorers-tab  { padding:10px 18px; font-size:13px; font-weight:500; color:rgba(255,255,255,.55); cursor:pointer; border:none; border-radius:0; border-bottom:3px solid transparent; margin-bottom:-2px; white-space:nowrap; transition:all .14s; background:none; }
.lp-scorers-tab:hover { background:var(--accent); color:#fff; }
.lp-scorers-tab.active { color:#fff; border-bottom-color:#fff; font-weight:600; background:none; }
.lp-scorers-panel { display:none; }
.lp-scorers-panel.active { display:block; }
.lp-scorer-row { display:grid; grid-template-columns:36px 1fr auto; align-items:center; gap:10px; padding:10px 16px; border-bottom:1px solid var(--border); transition:background .12s; }
.lp-scorer-row:last-child { border-bottom:none; }
.lp-scorer-row:hover { background:var(--hover); }
.lp-scorer-rank { font-size:13px; font-weight:700; color:var(--text3); text-align:center; }
.lp-scorer-rank.top3 { color:var(--accent); }
.lp-scorer-info { display:flex; align-items:center; gap:9px; min-width:0; }
.lp-scorer-photo { width:34px; height:34px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--badge-bg); }
.lp-scorer-photo-ph { width:34px; height:34px; border-radius:50%; background:var(--badge-bg); display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0; }
.lp-scorer-name { font-weight:600; font-size:13px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lp-scorer-team-row { display:flex; align-items:center; gap:5px; margin-top:1px; }
.lp-scorer-team-row img { width:14px; height:14px; object-fit:contain; }
.lp-scorer-team-name { font-size:11.5px; color:var(--text2); }
.lp-scorer-goals { font-size:20px; font-weight:800; color:var(--accent); min-width:36px; text-align:right; }

/* ── News ────────────────────────────────────────────────── */
.lp-news-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:0; }
.lp-news-item { display:flex; gap:12px; padding:14px 16px; border-bottom:1px solid var(--border); text-decoration:none; color:var(--text); transition:background .12s; }
.lp-news-item:hover { background:var(--hover); }
.lp-news-thumb { flex-shrink:0; width:80px; height:60px; border-radius:5px; overflow:hidden; background:var(--badge-bg); }
.lp-news-thumb img { width:100%; height:100%; object-fit:cover; }
.lp-news-thumb-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:22px; }
.lp-news-body { flex:1; min-width:0; }
.lp-news-title { font-size:13px; font-weight:600; line-height:1.4; margin:0 0 4px; color:var(--text); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.lp-news-excerpt { font-size:11.5px; color:var(--text2); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 5px; }
.lp-news-date  { font-size:11px; color:var(--text3); }

/* ── Bracket ─────────────────────────────────────────────── */
.lp-bracket-top-scroll { overflow-x:auto; overflow-y:hidden; height:20px; margin:0 16px; scrollbar-width:auto; scrollbar-color:var(--accent) rgba(233,30,140,.12); }
.lp-bracket-top-scroll-inner { height:1px; }
.lp-bracket-top-scroll::-webkit-scrollbar { height:14px; }
.lp-bracket-top-scroll::-webkit-scrollbar-track { background:rgba(233,30,140,.12); border-radius:7px; }
.lp-bracket-top-scroll::-webkit-scrollbar-thumb { background:var(--accent); border-radius:7px; min-width:60px; }
.lp-bracket-top-scroll::-webkit-scrollbar-thumb:hover { background:#ff2ea0; }
.lp-bracket-wrap { overflow-x:auto; padding:16px; scrollbar-width:none; }
.lp-bracket-wrap::-webkit-scrollbar { display:none; }
.lp-bracket { display:flex; gap:0; min-width:max-content; }
.lp-bracket-round { width:256px; flex-shrink:0; }
.lp-bracket-round-head { padding:8px 12px 10px; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.7px; color:var(--text3); border-bottom:1px solid var(--border); text-align:center; background:var(--lg-head); margin-bottom:0; transition:background .25s; }
.lp-bracket-round + .lp-bracket-round { border-left:1px solid var(--border); }
.lp-bracket-match { margin:8px; border:1px solid var(--border); border-radius:6px; overflow:hidden; background:var(--mc-bg); transition:box-shadow .14s; }
.lp-bracket-match:hover { box-shadow:var(--shadow-sm); }
.lp-bracket-team { display:flex; align-items:center; gap:7px; padding:8px 10px; font-size:12.5px; font-weight:500; color:var(--text); border-bottom:1px solid var(--border); }
.lp-bracket-team:last-child { border-bottom:none; }
.lp-bracket-team img { width:18px; height:18px; object-fit:contain; flex-shrink:0; }
.lp-bracket-team-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lp-bracket-team-score { font-size:14px; font-weight:700; color:var(--text); margin-left:auto; flex-shrink:0; min-width:18px; text-align:right; }
.lp-bracket-team.winner .lp-bracket-team-name { color:var(--accent); font-weight:700; }
.lp-bracket-team.winner .lp-bracket-team-score { color:var(--accent); }
.lp-bracket-date { font-size:10px; color:var(--text3); text-align:center; padding:4px; border-top:1px solid var(--border); background:var(--lg-head); }
.lp-bracket-agg { display:flex; align-items:center; gap:6px; padding:6px 10px; font-size:10px; color:var(--text3); border-top:1px solid var(--border); background:var(--lg-head); }
.lp-bracket-agg-legs { flex:1; }
.lp-bracket-agg-total { font-weight:700; font-size:11px; color:var(--text2); }
.lp-bracket-stage-label { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--text3); padding:12px 12px 0; }

/* ── No data ─────────────────────────────────────────────── */
.lp-no-data { padding:36px; text-align:center; color:var(--text3); font-size:13px; }

/* ── Astra overrides ─────────────────────────────────────── */
body.wls-league-page { background:var(--bg) !important; }
body.wls-league-page #page, body.wls-league-page .site,
body.wls-league-page .ast-container, body.wls-league-page #content,
body.wls-league-page .entry-content, body.wls-league-page article {
    padding:0 !important; margin:0 !important;
    max-width:100% !important; background:transparent !important;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width:1100px) {
    .lp-overview-grid { grid-template-columns:1fr; }
    .lp-ov-left { border-right:none; border-bottom:1px solid var(--border); }
}
@media (max-width:900px) {
    html, body { overflow-x:hidden !important; width:100% !important; }
    .lp-app { overflow:hidden; width:100%; max-width:100vw; }
    .lp-layout { grid-template-columns:1fr; padding:8px 8px 0; gap:8px; max-width:100%; overflow:hidden; }
    .lp-main { overflow:hidden; max-width:100%; width:100%; }
    .lp-sidebar { display:none; }
    .lp-panels { overflow:hidden; max-width:100%; }
    .lp-bracket-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .lp-bracket-round { width:150px; }
    .lp-st-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .lp-st-table { font-size:11.5px; }
    .lp-st-table th { padding:6px 4px; font-size:9px; }
    .lp-st-table td { padding:7px 4px; }
    .lp-st-table th.lp-hide-sm, .lp-st-table td.lp-hide-sm { display:none; }
    .lp-overview-grid { max-width:100%; overflow:hidden; }
    .lp-header { height:60px; padding:0 16px; }
    .lp-header .lp-logo-img { height:50px; }
    .lp-hero { padding:18px 16px 14px; }
    .lp-hero-name { font-size:18px; }
    .lp-hero-logo, .lp-hero-logo-ph { width:52px; height:52px; }
    .lp-mc { grid-template-columns:54px 1fr 60px 1fr 0; padding:9px 10px; }
    .lp-mc-arr { display:none; }
    .lp-hero-stats { gap:12px; }
}
@media (max-width:500px) {
    .lp-header { padding:0 12px; height:50px; }
    .lp-header .lp-logo-img { height:40px; }
    .lp-header .lp-toggle > span:last-child { display:none; }
    .lp-st-table th.lp-hide-xs, .lp-st-table td.lp-hide-xs { display:none; }
    .lp-mc { grid-template-columns:48px 1fr 54px 1fr 0; padding:7px 10px; }
}

/* ── Site Footer ────────────────────────────────────────────── */
.wls-site-footer{background:var(--header-bg);border-top:2px solid var(--accent);padding:32px 24px;text-align:center;margin-top:24px}
.wls-footer-inner{max-width:600px;margin:0 auto}
.wls-footer-logo{margin-bottom:14px}
.wls-footer-logo img{height:42px;width:auto;object-fit:contain;opacity:.8}
.wls-footer-logo a:hover img{opacity:1}
.wls-footer-social{display:flex;justify-content:center;gap:16px;margin-bottom:14px}
.wls-footer-social a{color:rgba(255,255,255,.4);transition:color .15s;display:flex;align-items:center}
.wls-footer-social a:hover{color:var(--accent)}
.wls-footer-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.wls-footer-links a{font-size:12px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s}
.wls-footer-links a:hover{color:#fff}
.wls-footer-sep{color:rgba(255,255,255,.2);font-size:12px}
.wls-footer-credit{font-size:11px;color:rgba(255,255,255,.4);line-height:1.5;margin-bottom:8px;max-width:520px;margin-left:auto;margin-right:auto}
.wls-footer-credit a{color:rgba(255,255,255,.65);text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.3)}
.wls-footer-credit a:hover{color:#fff;border-bottom-color:#fff}
.wls-footer-copy{font-size:11px;color:rgba(255,255,255,.3);line-height:1.5}

/* ── Lazy round loading ──────────────────────────────────── */
.lp-round-loading { padding:24px; text-align:center; color:var(--text3); font-size:13px; }
