.datefold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px}
.datefold>summary::-webkit-details-marker{display:none}
.datefold>summary:before{content:"▾";display:inline-block;font-size:18px}
.datefold:not([open])>summary:before{content:"▸"}
.datefold>summary:focus-visible{outline:2px solid var(--gold,#77eaa5);outline-offset:-2px}
.datefold>summary .foldhint{margin-left:auto;font:500 12px system-ui;opacity:.75}
.datefold:not([open])>summary .foldhint{font-size:0}
.datefold:not([open])>summary .foldhint:after{content:"Show matches";font:500 12px system-ui}
.predictionday>.fixtureday{margin:0;padding:14px 16px}
/* Visitors: the next three open matches, then "Show all". */
.fewfixtures .fixture.extra{display:none}
.fewfixtures details.predictionday.extraday{display:none}
.showallfixtures{display:none}
.fewfixtures .showallfixtures{display:block;width:calc(100% - 36px);margin:14px 18px 4px;min-height:46px;border:1px solid var(--gold-line,#5c4a1a);border-radius:var(--radius-sm,10px);background:var(--gold-soft,rgba(244,197,66,.09));color:var(--text,#eef2f7);font:600 16px var(--font,system-ui);cursor:pointer}
.fewfixtures .showallfixtures:hover{border-color:var(--gold,#f4c542)}
/* First save: start a league and share it. */
.firstsaved.challenge p{margin:6px 0 12px;line-height:1.5}
.challengeform label{display:block;font-size:13px;margin-bottom:6px;color:#bfe9cf}
.challengeform div{display:flex;flex-wrap:wrap;gap:8px}
.challengeform input{flex:1 1 200px;min-height:44px;padding:8px 12px;border:1px solid #4b9364;border-radius:8px;background:#0e2a1f;color:#eef5f8;font:inherit}
.challengeform .btn{min-height:44px}
.challengeshare div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.challengeshare p{margin:0 0 10px}
.firstsaved .challengepage{margin:0 6px}
.challengemessage:empty{display:none}
.sharebtn{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #4b9364;border-radius:8px;background:#0e2a1f;color:#eef5f8;font:600 15px var(--font,system-ui);cursor:pointer;text-decoration:none}
.firstsaved a.sharebtn{margin:0;color:#fff}
.sharebtn.whatsapp{background:#1f7a4b;border-color:#25a463;color:#fff}
.copybtn.whatsappbtn{background:#1f7a4b;border-color:#25a463;color:#fff}
a.copybtn{text-decoration:none;display:inline-block;font-size:13.3333px;line-height:normal;font-weight:800;color:#eef5f8}
/* Reminder suggestion under the matchweek summary. */
.remindernudge{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin:12px 18px;padding:14px 44px 14px 16px;background:var(--ink-2,#161e2a);border:1px solid var(--gold-line,rgba(244,197,66,.32));border-radius:var(--radius-sm,10px)}
.remindernudge[hidden]{display:none}
.remindernudge .remindericon{font-size:22px}
.remindernudge>div{flex:1 1 220px}
.remindernudge p{margin:3px 0 0;color:var(--text-2,#a8b3c3);font-size:14px;line-height:1.45}
.remindernudge .btn{min-height:44px}
.remindernudge .remindernudgeclose{position:absolute;top:6px;right:6px}
.inviteprompt.reminderproblem{border-color:var(--red,#f0707e)}
/* Status messages sit at the top of the predictions card, so links ending #predict show them. */
#predict>.inviteprompt{margin:14px 18px 4px;font-size:14px}

.predictionweeknav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;padding:20px 18px;border-top:1px solid #304655;border-bottom:1px solid #304655;background:#101e2b;text-align:center}
.predictionweeknav h2{margin:0;font-size:24px;line-height:1.2}.predictionweeknav p{margin:6px 0 10px;font-size:15px;color:#bac7d5}.weekarrow{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid #4b5a70;background:#182a3b;color:#f4c542;text-decoration:none;font-size:34px;line-height:1}.weekarrow:hover{background:#243d52}.weekarrow.disabled{opacity:.3}.weekselectlabel{font-size:13px;color:#b8c7d6}.weekselectlabel select{min-height:40px;margin-left:6px;border:1px solid #496077;border-radius:8px;background:#15283a;color:#f1f5fa;padding:5px 10px;font:inherit}.predictionweeknav a:focus-visible,.weekselectlabel select:focus-visible{outline:2px solid #f4c542;outline-offset:3px}

/* Centre the shared footer independently of the content columns. */
body>.footer{width:100%;max-width:none;margin:32px auto 0;text-align:center}
body>.footer .footerlinks{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px 18px;max-width:900px;margin:0 auto 12px}
body>.footer p{max-width:900px;margin:8px auto}
@media(min-width:901px){
 body.home-screen .main{display:grid;grid-template-columns:minmax(0,1fr);max-width:860px;margin:24px auto 36px;gap:20px}
 body.home-screen .main>aside{display:none}
 body.home-screen .sitenavigation{max-width:1000px;margin-inline:auto}
 body.home-screen .flowhome{padding:22px;background:var(--ink-1)}
 body.home-screen .flowwelcome h1{font-size:30px}
 body.home-screen .flowstats{margin:16px 0;gap:10px}
 body.home-screen .flowstats>.flowstat{padding:14px}
 body.home-screen .flowstats strong{font-size:25px}
 body.home-screen .flowleaguegrid{gap:10px}
 body.home-screen .flowleague{padding:14px}
 body.home-screen #predict>.head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 18px;gap:16px}
 body.home-screen #predict>.head h1,body.home-screen #predict>.head h2{font-size:28px}
 body.home-screen .historybtn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;text-decoration:none}
 body.home-screen .matchweeksummary{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:20px;margin:0 24px 16px;padding:16px 18px}
 body.home-screen .matchweekinfo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
 body.home-screen .matchweekinfo p{grid-column:1/-1;margin:4px 0 0}
 body.home-screen .matchweekfinish{width:180px;min-height:44px;margin:0}
 body.home-screen .matchweekfinish[hidden]{display:none}
 body.home-screen .guestintro{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:20px;margin:0 24px 16px;padding:16px 18px}
 body.home-screen .guestintro>.btn,body.home-screen .guestintro>.ghost{width:180px;min-height:44px}
 body.home-screen .remindernudge{display:grid;grid-template-columns:26px minmax(0,1fr) 180px;align-items:center;gap:12px;margin:0 24px 16px;padding:16px 18px}
 body.home-screen .remindernudge>.btn{width:180px;min-height:44px}
 body.home-screen .remindernudgeclose{right:2px;top:0;font-size:22px}
 body.home-screen .remindernudge:has(+ .flowguide ~ .guestnudge){display:none}
 body.home-screen .flowguide{margin:0 24px 16px;padding:12px 16px}
 body.home-screen .predictionweeknav{padding:18px 24px}
 body.home-screen .fixture{grid-template-columns:90px minmax(0,1fr) 112px minmax(0,1fr);padding:18px 24px;gap:14px;font-size:17px}
 body.home-screen .fixture .team img{width:30px;height:30px}
 body.home-screen .fixture .home.team{grid-template-columns:minmax(0,1fr) 30px}
 body.home-screen .fixture .away.team{grid-template-columns:30px minmax(0,1fr)}
 body.home-screen #predict .fixture .score{padding-bottom:0}
 body.home-screen .fixture .score>input,body.home-screen .fixture .score>span:not(.fixturestatus),body.home-screen .fixture .desktopsave{display:none}
 body.home-screen .mobilepick{display:flex;flex-direction:column;align-items:center;justify-content:center;width:106px;min-height:66px;gap:5px;padding:8px}
 body.home-screen .mobilepick span{font-size:28px}
 body.home-screen .mobilepick small{font-size:12px}
 body.home-screen .fixture .frontresult{min-width:0}
}

/* Keep club names intact: wrap only at spaces, never hyphenate words. */
#predict .team .clubnamelink,#predict .team span{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal;white-space:normal;text-overflow:clip;overflow:visible;min-width:0}

.overallchoices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.overallchoices>a{display:flex;flex-direction:column;gap:5px;padding:18px;border:1px solid #344657;border-radius:12px;background:#132532;text-decoration:none}.overallchoices strong{font-size:20px;color:#eef2f7}.overallchoices span{font-size:14px;color:#f4c542}.overallchoices>a:hover{border-color:#f4c542}
#leaguesDialog .friendleaguecard{display:block;padding:20px;margin-bottom:14px}
.friendleagueheading{display:flex;align-items:center;justify-content:space-between;gap:16px}.friendleagueheading h3{margin:0!important;font-size:22px}.friendleagueheading small{line-height:1.5;margin-top:5px}.friendleagueheading>.btn{flex-shrink:0;min-height:44px}
.leagueinvite{margin-top:16px;padding-top:14px;border-top:1px solid #2b4252}.leagueinvite summary{cursor:pointer;color:#f4c542;font-weight:600;min-height:30px}.leagueinviteactions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.leagueinviteactions .copybtn,.leagueinvitecode .copybtn{min-height:42px;padding:8px 14px}.leagueinvitecode{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#a8b3c3;font-size:14px}.leagueinvitecode strong{color:#eef2f7;letter-spacing:1px}.leaguepubliclink{display:inline-block;margin-top:14px;font-size:13px;color:#a8b3c3!important}
@media(max-width:600px){#leaguesDialog .friendleaguecard{padding:16px}.friendleagueheading{align-items:stretch;flex-direction:column;gap:12px}.friendleagueheading>.btn{width:100%}.overallchoices>a{padding:15px}.overallchoices strong{font-size:19px}}

.homeleagueactions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:stretch;margin-top:16px}.homeleagueactions .copybtn,.homeleagueactions .leagueviewbtn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;margin:0;border:1px solid #40596a;border-radius:8px;background:#172b3a;color:#eef5f8;text-align:center;text-decoration:none;font:600 14px var(--font,system-ui);white-space:normal}.homeleagueactions .leagueviewbtn{border-color:#b39136;background:rgba(244,197,66,.09);color:#f4c542}.homeleagueactions>a.copybtn{grid-column:1/-1;justify-self:start;border:0;background:none;padding:2px 0;min-height:28px;color:#a8b3c3;font-size:13px}.homeleagueactions>button:hover{border-color:#f4c542}
