:root{font-family:Arial,Helvetica,sans-serif;color:#152139;background:#f1f4f8;font-synthesis:none;--navy:#121e32;--red:#df432f;--blue:#185fc7}*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;padding:23px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;border-bottom:4px solid var(--red)}.brand{display:flex;gap:13px;align-items:center;font-size:14px;letter-spacing:2px}.brand strong{display:block;font-size:23px;letter-spacing:4px;margin-top:4px}.mark{font-size:38px;color:#ff6c58;font-weight:900;border-right:1px solid #526078;padding-right:18px}.season{font-size:13px;letter-spacing:2px}.season b{font-size:20px;margin-left:10px}main{max-width:1400px;margin:auto;padding:42px max(4vw,20px) 24px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.eyebrow{color:#59677b;letter-spacing:1.7px;font-size:12px;font-weight:700;margin:0 0 9px}h1{font-size:clamp(28px,3vw,42px);letter-spacing:-1.2px;margin:0 0 10px}h2{font-size:25px;letter-spacing:-.5px;margin:0}.sub{color:#59677b;font-size:16px;margin:0}.cutoff{display:flex;align-items:center;gap:14px}.cutoff b{font-size:56px;letter-spacing:-3px;color:var(--red)}.cutoff span{font-size:12px;line-height:1.6;letter-spacing:1px;color:#59677b}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}label{display:block;font-size:14px;font-weight:700;margin-bottom:9px}select{font:inherit;font-weight:600;border:1px solid #ccd3de;background:white;color:var(--navy);border-radius:8px;padding:13px 38px 13px 14px;min-width:300px;max-width:100%}.switch{display:flex;gap:4px;background:#dfe5ed;padding:4px;border-radius:8px}button{font:inherit;cursor:pointer}button:focus-visible,select:focus-visible{outline:3px solid #3983f8;outline-offset:3px}.switch button{padding:12px 21px;border:0;border-radius:6px;background:transparent;color:#47566d;font-weight:700;font-size:14px}.switch button[aria-pressed=true]{background:var(--navy);color:#fff}.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:start}.surface{background:white;border:1px solid #dce2eb;border-radius:12px;overflow:hidden;min-width:0;box-shadow:0 5px 20px #17234005}.surface-head{padding:25px 25px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6eaf0;gap:12px}.count{background:#edf1f6;padding:7px 9px;font-size:12px;font-weight:700;white-space:nowrap;border-radius:5px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}th{background:#f7f9fc;color:#58667a;font-size:12px;padding:14px 9px;text-align:center;letter-spacing:.4px}th.club{text-align:left}td{padding:17px 9px;text-align:center;border-bottom:1px solid #edf0f5;font-variant-numeric:tabular-nums}td.club{text-align:left;font-weight:700;min-width:190px}td.rank{color:#738197;width:40px}td.pts{font-weight:800;color:var(--navy);background:#f3f5f8;font-size:17px}tr:last-child td{border-bottom:0}tr:first-child .rank{color:var(--red);font-weight:800}tr:hover td{background:#f6f8fc}.club.free{color:var(--blue)}.table-note{padding:17px 24px;color:#66748a;font-size:12px;border-top:1px solid #e6eaf0;line-height:1.6}.aside-title{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid #152139;padding:3px 0 15px}aside p{font-size:14px;line-height:1.65;color:#526178;margin:13px 0 20px}.rule{display:flex;gap:12px;border-top:1px solid #d9e0e9;padding-top:18px;margin-top:12px}.rule>span{font-size:12px;font-weight:700;color:var(--red);padding-top:3px}h3{font-size:14px;margin:0}.rule p{margin:7px 0 5px}.legend{display:flex;gap:12px;margin-top:16px}.blue-line{background:var(--blue);min-width:3px;margin:16px 0 22px}.dates{display:flex;gap:8px;padding:20px 24px 4px;flex-wrap:wrap}.dates button{border:1px solid #d6deea;border-radius:6px;padding:10px 16px;background:white;font-size:14px;color:#526178}.dates button[aria-pressed=true]{color:white;background:var(--navy);border-color:var(--navy)}.matches{padding:6px 24px 22px}.match{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;padding:22px 0;border-bottom:1px solid #e4e9f1}.team{font-size:14px;font-weight:700;line-height:1.5}.team.away{text-align:right}.score{text-align:center;min-width:76px;font-size:23px;font-weight:800;letter-spacing:2px}.wo{display:block;font-size:11px;letter-spacing:1px;color:#9e3d2e;margin-top:5px}.bye{color:var(--blue);background:#eef5ff;border-radius:6px;font-size:14px;padding:14px;margin-top:20px}.empty{padding:32px 24px;line-height:1.7;color:#526178}.empty select{display:block;margin-top:18px}.empty strong{color:var(--navy)}footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6;color:#647289;border-top:1px solid #dbe1ea;margin-top:38px;padding-top:20px}@media(max-width:1100px){.layout{grid-template-columns:1fr}aside{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.aside-title,aside>p,.legend{grid-column:1/-1}.rule{margin:0}.aside-title{margin-top:10px}aside>p{margin:0}.legend{margin:0}.cutoff{display:none}}@media(max-width:600px){main{padding:27px 16px}.season{font-size:11px;letter-spacing:0}.season b{display:block;margin:4px 0 0;text-align:right}.brand{font-size:11px;letter-spacing:1px}.brand strong{font-size:19px}.toolbar{align-items:stretch;flex-direction:column}.toolbar select{width:100%;min-width:0}.switch button{flex:1}.heading{margin-bottom:25px}.surface-head{padding:20px 16px}h2{font-size:22px}td{padding:15px 10px}th{padding:13px 10px}.table-scroll table{min-width:640px}td.club{position:sticky;left:0;background:#fff;z-index:1}th.club{position:sticky;left:0;background:#f7f9fc;z-index:2}aside{display:block}.rule{margin-top:18px}.matches{padding:5px 16px 20px}.match{gap:8px}.team{font-size:13px}.score{font-size:21px;min-width:68px}.dates{padding-left:16px}.sub{line-height:1.5}.count{font-size:11px}footer{display:block}footer span{display:block;margin-bottom:8px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}}

.league-logo{width:64px;height:auto;display:block;object-fit:contain;flex-shrink:0;border-radius:5px}.brand{gap:18px}@media(max-width:600px){.league-logo{width:49px}.brand{gap:12px}header{padding:17px 20px}}
