/* Match-day UX: shared visual rules for the board and both analysis surfaces. */
.centre-page .layout{grid-template-columns:205px minmax(0,1fr) 310px;gap:26px}
.centre-page .page-heading{align-items:flex-end}
.centre-page .page-heading h1{font-size:30px;letter-spacing:0}
.centre-page .calendar-toolbar{box-shadow:0 3px 12px rgba(28,48,35,.06)}
.centre-page .day{transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
.centre-page .day:active{transform:scale(.98)}
.centre-page .match-controls{align-items:center}
.centre-page .segments{max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b9c9bc transparent}
.centre-page .segments button{min-height:38px}
.centre-page .match-row{min-height:84px}
.centre-page .match-row:focus-within{outline:2px solid #4088b7;outline-offset:-2px;z-index:1}
.centre-page .match-main[aria-pressed=true]{color:#214b32}
.centre-page .match-main{gap:13px}
.centre-page .team-line{line-height:1.3}
.centre-page .team-line .goals{min-width:20px;text-align:right}
.centre-page .match-open-hint{display:flex;align-items:center;gap:3px;padding-left:6px;color:#849187;font-size:10px;opacity:0;transition:opacity .15s ease}
.centre-page .match-open-hint svg{width:14px;height:14px}
.centre-page .match-row:hover .match-open-hint,.centre-page .match-row.selected .match-open-hint,.centre-page .match-main:focus-visible .match-open-hint{opacity:1}
.centre-page .row-live .match-time .live{font-variant-numeric:tabular-nums}
.centre-page .detail{top:18px}
.centre-page .detail-heading{font-size:10px}
.centre-page .detail-analysis-cta{transition:transform .16s ease,box-shadow .16s ease}
.centre-page .detail-analysis-cta:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(27,71,44,.12)}
.centre-page .detail-tabs button{min-height:44px}
.centre-page .fact{min-height:42px}
.centre-page .detail.mobile-open{overscroll-behavior:contain}
.centre-page .match-list,.centre-page .match-detail{box-shadow:0 3px 12px rgba(28,48,35,.045)}

html body.match-page main#analysis{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:1240px;margin:24px auto 34px;padding:28px 34px 38px}
html body.match-page main#analysis>*{min-width:0}
html body.match-page main#analysis>.match-breadcrumb{position:absolute;top:28px;right:34px;margin:0}
html body.match-page main#analysis>.match-breadcrumb+p{max-width:calc(100% - 170px);min-height:34px;display:flex;align-items:center;margin:0 0 5px;color:#64746a;font-size:11px}
html body.match-page main#analysis>h1{margin:0;color:#1d3024;font-size:27px;line-height:1.25}
html body.match-page .match-breadcrumb{display:inline-flex;align-items:center;gap:6px;min-height:34px;margin:0 0 17px;padding:0 10px;border:1px solid #dce5de;border-radius:5px;background:#fff;color:#52665a;font-size:11px;font-weight:650;transition:background .15s ease,border-color .15s ease}
html body.match-page .match-breadcrumb svg{width:14px;height:14px}
html body.match-page .match-breadcrumb:hover{background:#edf4ef;border-color:#bdd0c2;color:#235c3c}
html body.match-page .analysis-jump{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;margin-top:10px;padding:0 12px;border:1px solid #285f3b;border-radius:5px;background:linear-gradient(110deg,#285f3b,#36784d);color:#fff;font-size:11px;font-weight:700;box-shadow:0 2px 5px rgba(26,73,44,.14);transition:transform .15s ease,box-shadow .15s ease}
html body.match-page .analysis-jump svg{width:15px;height:15px}
html body.match-page .analysis-jump:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(26,73,44,.18)}
html body.match-page .scoreboard{position:relative;isolation:isolate;overflow:hidden;min-height:204px;margin:8px 0 20px;padding:28px 7%;border:1px solid #dfe8e1;border-radius:8px;background:linear-gradient(115deg,#f5f8f5 0%,#fff 48%,#f2f7f4 100%)}
html body.match-page .scoreboard::before{position:absolute;z-index:-1;inset:0 auto 0 50%;width:1px;background:linear-gradient(transparent,#dce7de 24%,#dce7de 76%,transparent);content:""}
html body.match-page .scoreboard>div:nth-child(2){display:grid;justify-items:center;align-content:center}
html body.match-page .club{gap:9px}
html body.match-page .club-emblem{height:80px;width:80px;border-color:#d7e2da;background:#e8efea}
html body.match-page .club strong{max-width:100%;font-size:16px;line-height:1.35}
html body.match-page .score{font-size:48px;line-height:1.05}
html body.match-page .scoreboard p{margin:9px 0 0}
html body.match-page .score-status,.nfl-match-page .nfl-status{margin-top:9px;padding:5px 9px;border:1px solid #dce7de;border-radius:999px;background:#f1f6f2;color:#52685a;font-size:10px;font-weight:700}
html body.match-page .badge-live-pulse{display:inline-flex;align-items:center;gap:7px;margin-top:9px;padding:6px 10px;border:1px solid #f1c9c4;border-radius:999px;background:#fff3f1;color:#a43c34;font-size:10px;font-weight:750}
html body.match-page .match-sections{top:0;z-index:10;min-height:50px;margin:0 -2px 18px;padding:0 12px;border:1px solid #dce5df;border-radius:6px;background:rgba(249,251,249,.96);backdrop-filter:blur(12px);box-shadow:0 4px 12px rgba(27,57,37,.06)}
html body.match-page .match-sections a{padding:14px 2px}
html body.match-page .match-tab-list{top:8px;scrollbar-width:thin;scrollbar-color:#b8c9bc transparent}
html body.match-page .match-tab-list [role=tab]{transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}
html body.match-page .match-tab-panel{padding:0 2px 12px;animation:match-panel-in .2s ease both}
html body.match-page .match-tab-panel>section{margin:0 0 18px;padding:18px 0;border-bottom:1px solid #e1e8e2}
html body.match-page .match-tab-panel>section:last-child{margin-bottom:0}
html body.match-page .section-heading,.match-page .section-collapse-header{display:flex;align-items:center;justify-content:space-between;gap:14px}
html body.match-page .section-heading{margin-bottom:14px}
html body.match-page .section-heading h2,.match-page .section-collapse-header h2{margin:3px 0 0;font-size:17px;line-height:1.35}
html body.match-page .section-kicker{font-size:9px;font-weight:750;color:#718279;letter-spacing:.7px}
html body.match-page .probabilities{gap:10px}
html body.match-page .probabilities>div{min-width:0;padding:14px 12px;border:1px solid #e0e8e2;border-radius:6px;background:#fbfcfb}
html body.match-page .probabilities>div:nth-child(1) strong{color:#287b50}
html body.match-page .probabilities>div:nth-child(2) strong{color:#9a792b}
html body.match-page .probabilities>div:nth-child(3) strong{color:#3c6f9b}
html body.match-page .probabilities .bar{height:6px;border-radius:5px;overflow:hidden;background:#e8eeea}
html body.match-page .probabilities .bar span{border-radius:inherit;transition:width .65s cubic-bezier(.2,.7,.2,1)}
html body.match-page .forecast-explainer,html body.match-page .forecast-limits{color:#65746a}
html body.match-page .match-tab-panel .stats{border:1px solid #e1e8e2;border-radius:6px;overflow:hidden}
html body.match-page .match-tab-panel .stats thead{background:#f4f7f4}
html body.match-page .match-tab-panel .stats td,html body.match-page .match-tab-panel .stats th{padding:13px 12px}
html body.match-page .match-tab-panel .match-line{border-bottom:1px solid #e4ebe5}
html body.match-page .match-tab-panel .match-line:last-child{border-bottom:0}
html body.match-page .match-tab-panel .model-reading-guide{border-color:#e0e8e2}
html body.match-page .nfl-match-hero{min-height:220px;margin:8px 0 20px;padding:30px 6%;border:1px solid #dfe8e1;border-radius:8px;background:linear-gradient(115deg,#f5f8f5 0%,#fff 48%,#f2f7f4 100%)}
html body.match-page .nfl-match-hero .club-emblem{width:82px;height:82px}
html body.match-page .nfl-match-hero .club strong{font-size:16px}
html body.match-page .nfl-match-hero .nfl-status{margin:8px 0 0}
html body.match-page.nfl-match-page .nfl-match-tabs{margin:0 0 15px}
html body.match-page.nfl-match-page .nfl-match-tabs .match-tab-list{position:sticky;top:8px}
html body.match-page.nfl-match-page .nfl-match-panel>section{margin:0 0 18px;padding:20px 0;border-bottom:1px solid #e1e8e2}
html body.match-page.nfl-match-page .nfl-match-panel .section-heading h2{line-height:1.35}
html body.match-page.nfl-match-page .nfl-back-link{display:inline-flex;align-items:center;gap:7px;min-height:38px;margin:8px 0 0;padding:0 12px;border:1px solid #dce5de;border-radius:5px;background:#fff}
html body.match-page.nfl-match-page .nfl-back-link:hover{background:#edf4ef;border-color:#bdd0c2}
html body.match-page #retry{min-height:40px;margin-top:12px;padding:0 14px;border-radius:5px;background:#285f43;color:#fff;font-weight:700}
html body.match-page .match-footer{padding:18px 0}
.dark-theme.match-page main#analysis{background:#121b15}
.dark-theme.match-page main#analysis>h1{color:#e4eee7}
.dark-theme.match-page .match-breadcrumb,.dark-theme.match-page.nfl-match-page .nfl-back-link{background:#17231b;border-color:#324639;color:#c0d1c4}
.dark-theme.match-page .match-breadcrumb:hover,.dark-theme.match-page.nfl-match-page .nfl-back-link:hover{background:#203328;border-color:#4a7057}
.dark-theme.match-page .scoreboard,.dark-theme.match-page .nfl-match-hero{border-color:#2b4032;background:linear-gradient(115deg,#17231b 0%,#141f18 48%,#192820 100%)}
.dark-theme.match-page .scoreboard::before{background:linear-gradient(transparent,#34483a 24%,#34483a 76%,transparent)}
.dark-theme.match-page .club-emblem{background:#26372c;border-color:#3a5040}
.dark-theme.match-page .score-status,.dark-theme.match-page .nfl-status{background:#1e3024;border-color:#38533f;color:#b5d2bb}
.dark-theme.match-page .match-sections{background:rgba(18,27,21,.94);border-color:#2b4032}
.dark-theme.match-page .match-tab-panel>section,.dark-theme.match-page.nfl-match-page .nfl-match-panel>section{border-color:#2a3b30}
.dark-theme.match-page .probabilities>div,.dark-theme.match-page .match-tab-panel .stats thead{background:#17231b}
.dark-theme.match-page .probabilities>div,.dark-theme.match-page .match-tab-panel .stats{border-color:#304236}
@keyframes match-panel-in{from{opacity:.75;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1190px){.centre-page .layout{grid-template-columns:185px minmax(0,1fr);gap:23px}}
@media(max-width:900px){html body.match-page main#analysis{margin:18px 16px 28px;padding:24px 24px 30px}.centre-page .layout{grid-template-columns:170px minmax(0,1fr);gap:18px}}
@media(max-width:720px){.centre-page .layout{display:block;padding:18px 14px 28px}.centre-page .page-heading h1{font-size:25px}.centre-page .match-open-hint{display:none}.centre-page .match-row{min-height:78px}.centre-page .team-line{font-size:12px}.centre-page .match-main{gap:9px}.centre-page .match-ev-tag{margin-left:0}.centre-page .detail.mobile-open{z-index:60;padding:18px 20px;border-left:1px solid #dce5de}.centre-page .detail.mobile-open .detail-heading{position:sticky;top:-18px;z-index:2;padding:10px 0;background:var(--page)}
  html body.match-page main#analysis{margin:12px 10px 22px;padding:20px 18px 25px}
  html body.match-page main#analysis>.match-breadcrumb{top:20px;right:18px}
  html body.match-page main#analysis>.match-breadcrumb+p{max-width:calc(100% - 145px);min-height:34px;font-size:10px}
  html body.match-page main#analysis>h1{font-size:23px}
  html body.match-page .scoreboard,html body.match-page .nfl-match-hero{min-height:180px;margin:14px 0 16px;padding:23px 3%;gap:8px;grid-template-columns:minmax(0,1fr) 105px minmax(0,1fr)}
  html body.match-page .club-emblem,html body.match-page .nfl-match-hero .club-emblem{width:64px;height:64px}
  html body.match-page .club strong,html body.match-page .nfl-match-hero .club strong{font-size:13px}
  html body.match-page .score{font-size:38px}
  html body.match-page .match-sections{gap:20px;top:0;margin-right:-5px;margin-left:-5px}
  html body.match-page .match-tab-list{top:0}
  html body.match-page .match-tab-panel>section{padding:16px 0}
  html body.match-page .match-tab-panel .stats{display:block;overflow-x:auto;white-space:nowrap}
  html body.match-page .nfl-point-projections{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){.centre-page .layout{padding-right:12px;padding-left:12px}.centre-page .calendar-toolbar{gap:0}.centre-page .calendar-toolbar>.icon-button{width:30px}.centre-page .segments{width:100%;margin-right:-12px;padding-right:12px}.centre-page .search{height:44px}.centre-page .match-main{padding:11px 6px}.centre-page .match-time{width:34px;font-size:9px}.centre-page .match-teams{padding-left:8px}.centre-page .team-line{font-size:11px;gap:7px}.centre-page .team-line .crest,.centre-page .team-line .crest-fallback{width:18px;height:18px}.centre-page .star-button{width:32px}
  html body.match-page main#analysis{margin:10px 7px 20px;padding:17px 13px 22px;border-radius:6px}
  html body.match-page main#analysis>.match-breadcrumb{top:17px;right:13px;min-height:30px;padding:0 7px;font-size:10px}
  html body.match-page main#analysis>.match-breadcrumb+p{max-width:calc(100% - 126px);min-height:30px;font-size:9px}
  html body.match-page .scoreboard,html body.match-page .nfl-match-hero{min-height:160px;padding:19px 1%;grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr)}
  html body.match-page .club-emblem,html body.match-page .nfl-match-hero .club-emblem{width:54px;height:54px}
  html body.match-page .club-emblem img{width:43px;height:43px}
  html body.match-page .score{font-size:33px}
  html body.match-page .score-status,html body.match-page .nfl-status{font-size:9px;padding:4px 7px}
  html body.match-page .probabilities{gap:5px}
  html body.match-page .probabilities>div{padding:11px 7px}
  html body.match-page .probabilities strong{font-size:20px}
  html body.match-page .section-heading,html body.match-page .section-collapse-header{align-items:flex-start}
  html body.match-page .section-heading h2,html body.match-page .section-collapse-header h2{font-size:15px}
  html body.match-page.nfl-match-page .nfl-match-tabs .match-tab-list{top:0}
  html body.match-page.nfl-match-page .nfl-match-tabs .match-tab-list [role=tab]{padding:0 10px}
}
@media(prefers-reduced-motion:reduce){.centre-page .day,.centre-page .match-open-hint,.centre-page .detail-analysis-cta,html body.match-page .analysis-jump,html body.match-page .probabilities .bar span,html body.match-page .match-tab-panel{transition:none;animation:none}}
