.season-main{max-width:none;padding:0 12px 52px;background:#f3f6f8}.season-heading{max-width:790px;margin:0 auto 20px;background:#092c49;color:#fff;border-bottom:4px solid #ffc52b;padding:15px 20px 19px}.season-heading .eyebrow{margin:0;color:#ffc52b;font-size:.7rem}.season-heading h1,.season-panel h2{font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.025em}.season-heading h1{font-size:clamp(2.1rem,4.6vw,4.1rem);line-height:1;margin:3px 0 9px}.season-heading p:last-child{font-size:.78rem;margin:0;color:#e8f2f8}.season-panel{margin:20px auto;background:white;border-radius:10px;padding:22px 20px;box-shadow:0 7px 28px #18364a0b}.season-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}.season-panel-head .eyebrow{font-size:.68rem;color:#e8aa00;margin:0 0 5px}.season-panel h2{font-size:clamp(1.65rem,2.2vw,2.3rem);line-height:1;margin:0}.season-panel-head a{color:#0b4d7b;font-weight:800;font-size:.84rem}.season-panel-head #standings-status{font-size:.8rem;white-space:nowrap}.standings-scroll{overflow-x:auto;border:1px solid #cbd9e3;border-radius:6px}.standings-scroll table{border-collapse:collapse;width:100%;min-width:940px;font-size:.8rem;font-variant-numeric:tabular-nums}.standings-scroll th{background:#061d31;color:white;font-size:.68rem;white-space:nowrap;text-align:center;padding:10px 8px}.standings-scroll td{padding:10px 8px;text-align:center;border-bottom:1px solid #d8e3ea}.standings-scroll tr:last-child td{border-bottom:0}.standings-scroll tbody tr:hover{background:#f3f8fb}.team-badge{display:inline-block;color:#fff;font-weight:900;border-radius:3px;padding:7px 9px;white-space:nowrap}.team-badge.challengers,.fixture-team.challengers{background:#60287b;color:white}.team-badge.smashers,.fixture-team.smashers{background:#e13f12;color:white}.team-badge.strikers,.fixture-team.strikers{background:#1563bd;color:white}.team-badge.chargers,.fixture-team.chargers{background:#ffbd25;color:#082238}.standings-scroll td:last-child{font-weight:900}.table-note{font-size:.75rem;color:#577085;margin:7px 0 0}.fixture-intro{font-size:.79rem;color:#526d81;margin:4px 0 0;line-height:1.5}.play-cricket-link{white-space:nowrap}.fixture-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;background:#edf3f6;border:1px solid #d3e0e7;border-radius:6px;padding:12px;margin-bottom:5px}.fixture-filters label{font-size:.72rem;font-weight:800}.fixture-filters select{display:block;width:100%;min-height:34px;margin-top:5px;border:1px solid #9eb6c8;border-radius:4px;padding:5px;background:#fff;color:#10263a}.fixture-filters #fixture-status{grid-column:1/4;font-size:.75rem;font-weight:700}.fixture-filters button{border:1px solid #b8cad5;background:#fff;color:#496273;border-radius:4px;padding:8px 12px;font-weight:800;cursor:pointer}.fixture-list{display:block}.fixture-card{display:grid;grid-template-columns:70px minmax(0,1fr) 150px 100px 140px;gap:12px;align-items:center;border:0;border-bottom:1px solid #d9e3ea;border-radius:0;box-shadow:none;padding:16px 0}.fixture-card:last-child{border-bottom:0}.fixture-date{font-size:.85rem;font-weight:900}.fixture-date small{display:block;font-weight:500;color:#688095;font-size:.72rem;line-height:1.3;margin-top:4px}.fixture-versus{display:flex;align-items:center;gap:6px;min-width:0}.fixture-team{flex:1;padding:9px 8px;text-align:center;font-weight:900;border-radius:3px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fixture-versus strong{font-size:.74rem}.fixture-duty{font-size:.72rem;line-height:1.5;color:#425d70}.fixture-duty strong{display:block;color:#092c49}.fixture-links{display:grid;gap:5px}.fixture-links a{font-size:.72rem;font-weight:900;text-decoration:none;color:#c22f15}.fixture-links .fixture-scorecard-link{color:#0c3555;background:#fff9db;border:1px solid #f4be20;border-radius:5px;padding:8px;text-align:center}.fixture-result{font-size:.7rem;color:#435f72}.rules-frame{display:block;width:100%;height:min(80vh,900px);min-height:520px;border:1px solid #cbd9e3;border-radius:6px;background:#f3f6f8}@media(max-width:900px){.fixture-card{grid-template-columns:70px minmax(0,1fr) 145px}.fixture-links{grid-column:2/4;display:flex;flex-wrap:wrap}.fixture-result{grid-column:2/4}.fixture-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.fixture-filters button{grid-column:3}.fixture-filters #fixture-status{grid-column:1/3}}@media(max-width:620px){.season-main{padding:0 8px 30px}.season-panel{padding:16px 12px}.season-panel-head{align-items:start;flex-direction:column}.fixture-filters{grid-template-columns:1fr}.fixture-filters label,.fixture-filters #fixture-status,.fixture-filters button{grid-column:1}.fixture-card{grid-template-columns:68px minmax(0,1fr);gap:8px}.fixture-duty,.fixture-links,.fixture-result{grid-column:2}.fixture-versus{min-width:0}.fixture-team{font-size:.68rem}.standings-scroll table{min-width:900px}}

/* Current-season presentation follows the production season page. */
body:has(.season-main) .season-heading{max-width:1700px;padding:38px 40px 42px;margin-bottom:38px;background:linear-gradient(115deg,#061d31,#0b3454)}
body:has(.season-main) .season-heading .eyebrow{font-size:1rem;letter-spacing:.18em;font-weight:900}
body:has(.season-main) .season-heading h1{font-size:clamp(3.4rem,6vw,6.4rem);margin:8px 0 14px}
body:has(.season-main) .season-heading p:last-child{font-size:1.16rem;color:#cbdce9}
.season-main{padding-inline:clamp(14px,2vw,40px)}
.season-panel{padding:clamp(22px,2vw,42px);border-radius:18px}
.season-panel-head{margin-bottom:26px;align-items:center}
.season-panel-head .eyebrow{font-size:.95rem;letter-spacing:.16em;font-weight:900;color:#efb82e}
.season-panel h2{font-size:clamp(2.2rem,3vw,3.3rem)}
.season-panel-head a{font-size:1.1rem}
.season-panel-head #standings-status{font-size:1rem}
.standings-scroll table{font-size:1rem;min-width:1120px}
.standings-scroll th{font-size:.86rem;padding:17px 12px}
.standings-scroll td{padding:16px 12px}
.team-badge{border-radius:6px;padding:12px 16px}
.table-note,.fixture-intro{font-size:1rem}
.fixture-filters{padding:24px 28px;gap:18px;border-radius:12px;margin-bottom:8px}
.fixture-filters label{font-size:.95rem}
.fixture-filters select{min-height:50px;padding:10px 14px;font-size:1rem}
.fixture-filters #fixture-status{font-size:1rem}
.fixture-filters button{padding:13px 18px;font-size:.95rem}
.fixture-card{grid-template-columns:130px minmax(300px,1fr) minmax(185px,230px) minmax(160px,260px);gap:20px;padding:27px 0}
.fixture-date{font-size:1.13rem}
.fixture-date small{font-size:.9rem;line-height:1.55;white-space:pre-line}
.fixture-versus{gap:12px}
.fixture-team-group{flex:1;min-width:0;display:grid;gap:6px;text-align:center}
.fixture-team-duty{color:#697f90;font-size:.72rem;letter-spacing:.16em;font-weight:900}
.fixture-team{display:block;padding:13px 10px;font-size:1rem;border-radius:6px}
.fixture-versus strong{font-size:1rem}
.fixture-duty{font-size:.9rem;line-height:1.55}
.fixture-links{gap:8px}
.fixture-links a{font-size:.94rem}
.fixture-links .fixture-scorecard-link{font-size:1.1rem;padding:14px;text-align:left;border-width:2px}
.fixture-result{grid-column:4;font-size:.83rem}
@media(max-width:1200px){.fixture-card{grid-template-columns:100px minmax(0,1fr) minmax(170px,220px)}.fixture-links,.fixture-result{grid-column:2/4}.fixture-links{display:flex;flex-wrap:wrap;align-items:center}.fixture-links .fixture-scorecard-link{min-width:180px}.fixture-result{margin-top:-8px}}
@media(max-width:700px){body:has(.season-main) .season-heading{padding:28px 18px 30px;margin-bottom:18px}body:has(.season-main) .season-heading h1{font-size:clamp(2.5rem,10vw,4rem)}body:has(.season-main) .season-heading p:last-child{font-size:.95rem}.season-main{padding-inline:8px}.season-panel{padding:20px 14px}.season-panel-head{align-items:flex-start}.standings-scroll table{min-width:1000px}.fixture-filters{padding:18px;grid-template-columns:1fr}.fixture-filters label,.fixture-filters #fixture-status,.fixture-filters button{grid-column:1}.fixture-card{grid-template-columns:78px minmax(0,1fr);gap:10px;padding:20px 0}.fixture-date{font-size:1rem}.fixture-date small{font-size:.77rem}.fixture-versus{grid-column:2;gap:5px}.fixture-team{font-size:.76rem;padding:9px 3px}.fixture-team-duty{font-size:.57rem}.fixture-duty,.fixture-links,.fixture-result{grid-column:2}.fixture-duty{font-size:.82rem}.fixture-links .fixture-scorecard-link{font-size:.95rem;padding:10px}.fixture-result{margin-top:0}}

/* Production season heading scale. */
body:has(.season-main) .season-heading h1{font-size:clamp(2.8rem,4.92vw,4.2rem)}
.season-panel h2{font-size:clamp(1.9rem,2.58vw,2.2rem)}
@media(max-width:700px){body:has(.season-main) .season-heading h1{font-size:clamp(2.5rem,9vw,4rem)}}


/* One consistent fixture row for both completed and upcoming matches. */
.fixture-card{grid-template-columns:155px minmax(260px,1fr) minmax(180px,220px) minmax(190px,250px);align-items:center}
.fixture-date{font-size:1.2rem;line-height:1.35;color:#092c49}
.fixture-time{display:block;margin-top:5px;font-size:1rem;font-weight:800}
.fixture-date small{font-size:.82rem;line-height:1.45;color:#526d81}
.fixture-duty{display:grid;gap:3px}
.fixture-completed{color:#227044;font-size:.9rem;font-weight:800}
.fixture-links .fixture-youtube-link{color:#bb321a;background:none;border:0;padding:0;line-height:1.45}
.fixture-result{grid-column:2/5;margin:0;color:#425d70;font-size:.9rem}
@media(max-width:1200px){.fixture-card{grid-template-columns:140px minmax(0,1fr) minmax(170px,210px)}.fixture-links,.fixture-result{grid-column:2/4}}
@media(max-width:700px){.fixture-card{grid-template-columns:95px minmax(0,1fr);gap:12px}.fixture-date{font-size:1.03rem;align-self:start}.fixture-time{font-size:.87rem}.fixture-date small{font-size:.74rem}.fixture-duty,.fixture-links,.fixture-result{grid-column:2}.fixture-versus{flex-wrap:wrap}.fixture-team{white-space:normal;overflow:visible;text-overflow:clip}.fixture-links{display:grid;gap:10px}.fixture-links .fixture-scorecard-link{min-width:0}.fixture-team-duty{letter-spacing:.06em}}


.standings-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;min-width:0}
.season-panel-head .standings-actions #standings-status{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}
#standings-refresh{font:inherit;font-size:.85rem;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;padding:6px 12px;cursor:pointer}
#standings-refresh:disabled{opacity:.55;cursor:wait}
#standings-refresh:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:600px){.standings-actions{justify-content:flex-start;width:100%}}
