/* Consumer-only adapter. Header, fonts, masthead, workspace and ranking surfaces
   come from style.css and the-15.css; sponsor rehearsal styles stay separate. */
/* Clip horizontal spill without making body a separate vertical scroll container. */
.cup-live-consumer{overflow-x:clip}
.cup-page{padding-bottom:40px}
.cup-overview{background:var(--navy)}
.cup-overview .eyebrow{color:var(--yellow)}
.cup-overview .league-copy .cup-title-sponsor{margin:2px 0 5px;color:#ffffffe0;font:700 20px/1.35 var(--tp-font-label);letter-spacing:.015em;overflow-wrap:anywhere}
.cup-overview .cup-title-sponsor strong{color:var(--yellow);font-weight:800}
.cup-title-sponsor[hidden]{display:none}
.cup-overview .cup-mark{margin-left:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.cup-overview .cup-mark img{width:100%;height:100%;object-fit:contain}
.cup-overview .how-works-cta:hover{border-color:var(--yellow);background:#ffffff12}
.cup-entry-banner{padding:12px 28px;border-bottom:1px solid var(--line);background:var(--panel-soft);color:var(--muted);font-size:13px;line-height:1.5}
.cup-game-panel{min-width:0}
.cup-game-panel #cup-workspace{padding:0 28px 22px}
.cup-rounds{display:flex;gap:6px;overflow-x:auto;padding:12px 0;border-bottom:1px solid var(--line);scrollbar-width:thin}
.cup-round{flex:none;min-height:40px;padding:7px 12px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);font:800 13px var(--tp-font-label)}
.cup-round[aria-pressed=true]{background:var(--navy);color:var(--panel);border-color:var(--navy)}
.cup-round:hover:not([aria-pressed=true]){border-color:var(--green-2);background:var(--panel-soft)}
.round-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 14px}
.round-workspace-heading h3{font-size:25px}
#round-progress{color:var(--muted);font:800 14px var(--tp-font-label);font-variant-numeric:tabular-nums;white-space:nowrap}
.round-help,.cup-workspace-status{color:var(--muted);font-size:13px;line-height:1.5}
.round-help{margin-bottom:16px}
.cup-workspace-status{margin-top:12px}
.cup-workspace-status.is-error{color:#a31334;font-weight:800}
.cup-entry-bar.the15-entry-bar{margin-top:18px;padding:14px 16px;border-top:1px solid var(--line-strong);gap:16px}
.cup-entry-bar.is-unsaved{border-left:3px solid var(--yellow)}
.cup-entry-bar #cup-save-state{font:800 18px/1.3 var(--tp-font-label)}
.cup-entry-bar #cup-save-detail{max-width:560px;color:var(--muted);font-size:13px;line-height:1.5}
.cup-entry-bar .cup-game-actions{display:flex;flex:none;margin-top:0;gap:8px}
.cup-next-step{margin-top:16px;padding:14px 16px;border-top:1px solid var(--line);background:var(--panel-soft);font-size:13px;line-height:1.6;color:var(--muted)}
.cup-next-step h4{margin:0 0 6px;color:var(--ink);font:800 18px/1.3 var(--tp-font-label)}
.cup-next-step .cup-next-kickoff{margin-bottom:6px;color:var(--ink);font-weight:700}
.cup-next-step .cup-button{margin-top:12px;font-size:13px}
.cup-score-table{margin-top:14px;font-size:12px}
.cup-score-table caption{text-align:left;padding:8px 0;font-weight:800;color:var(--ink)}
.cup-score-table th,.cup-score-table td{padding:9px 5px;white-space:normal;vertical-align:top}
.cup-side-panel .cup-scoring-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink)}
@media(max-width:720px){.cup-entry-bar.the15-entry-bar{display:flex;flex-direction:column;align-items:stretch}.cup-entry-bar .cup-game-actions{flex-wrap:wrap}.cup-next-step .cup-button{width:100%}}
.cup-empty{width:100%;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 18px;background:var(--panel-soft);text-align:center}
.cup-empty-mark{color:#9da79e;font:800 32px var(--tp-font-label)}
.cup-empty h3{font-size:27px;line-height:1.2}
.cup-empty p{max-width:520px;color:var(--muted);font-size:14px;line-height:1.5}
.cup-empty .cup-button{margin-top:4px}
.pitch-small{color:var(--muted);font-size:12px;line-height:1.5}
.cup-empty .pitch-small{font-size:12px}
.cup-fixture-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cup-fixture{min-width:0;padding:12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.cup-fixture-label{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font:800 10px/1.4 var(--tp-font-label);text-transform:uppercase}
.cup-fixture h4{margin:6px 0 0;font:800 16px/1.2 var(--tp-font-label);overflow-wrap:anywhere}
.cup-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px;scroll-margin-block:120px}
.cup-pick{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:64px;padding:8px 3px;border:1px solid #10243a30;border-radius:0;background:#eff5f2;color:var(--ink);font:900 12px/1.2 var(--tp-font-label);text-align:center;cursor:pointer}
.cup-pick--away{background:#eef2f7}
.cup-pick img{width:36px;height:36px;object-fit:contain}
.cup-team-name{overflow-wrap:anywhere}
.cup-pick.has-crest .cup-team-name{display:none}
.cup-pick .pick-indicator{display:none;position:absolute;top:3px;right:3px;width:14px;height:14px;color:#087b53;font-size:10px}
.cup-pick[aria-pressed=true]{border-color:#087b53;background:#e5f5e7;outline:2px solid #087b53;outline-offset:-2px}
.cup-pick[aria-pressed=true] .pick-indicator{display:grid;place-items:center}
.cup-pick:hover:not(:disabled){border-color:#087b53;background:#e5f5e7}
.cup-pick.is-result{box-shadow:inset 0 -3px #087b53}
.cup-pick.is-wrong{border-color:#d6284f;background:#fae1e4;outline-color:#d6284f}
.cup-pick.is-wrong .pick-indicator{color:#a72342}
.cup-pick:disabled{cursor:default;opacity:.82}
.cup-fixture-note{margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5}
.cup-game-actions,.cup-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.cup-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--yellow);border-radius:0;background:var(--yellow);color:var(--navy);font:800 14px/1.2 var(--tp-font-label);letter-spacing:.06em;text-align:center;text-transform:uppercase;cursor:pointer}
.cup-button--outline{border-color:var(--line-strong);background:var(--panel);color:var(--ink)}
.cup-button:hover:not(:disabled){border-color:var(--green-2);background:var(--panel-soft)}
.cup-button:disabled{border-color:#c8c8bc;background:#e0ddd1;color:#7a8077;cursor:default}
.cup-page :is(.cup-round,.cup-pick,.cup-button):focus-visible,.share-dialog :is(a,button):focus-visible{outline:3px solid #1269c7;outline-offset:2px}
.cup-sidebar{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr) minmax(0,1fr);gap:20px;margin-top:28px;align-items:start}
.cup-side-panel{min-width:0;padding:20px;border-top:4px solid var(--navy);background:var(--panel);box-shadow:var(--surface-shadow)}
.cup-kicker{color:var(--muted);font:800 11px/1.2 var(--tp-font-label);letter-spacing:.08em;text-transform:uppercase}
.cup-side-panel h2{margin:4px 0 14px;font-size:28px;line-height:1.1}
.cup-side-panel p:not(.cup-kicker),.cup-side-panel li,.cup-campaign-details{color:var(--muted);font-size:13px;line-height:1.6}
.cup-side-panel ol{display:grid;gap:12px;padding-left:18px}
.cup-side-panel li strong{color:var(--ink)}
.cup-side-panel li>span{display:block}
.cup-campaign-details dt{margin-top:12px;color:var(--ink);font-weight:800}
.cup-campaign-details dd{margin-top:3px}
.cup-campaign-details a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
#cup-how-to-play{scroll-margin-top:120px}
.cup-panel-body{padding:22px 28px;color:var(--muted);font-size:14px;line-height:1.6}
.cup-panel-body p+p{margin-top:12px}
.cup-independent{margin-top:24px}
.share-dialog{width:min(590px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:22px;border:1px solid var(--line-strong);background:var(--page);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.share-dialog::backdrop{background:#10243add}
.share-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.share-dialog h2{font:800 27px var(--tp-font-label)}
.share-dialog canvas{display:block;width:100%;height:auto}
.share-dialog>p{margin-top:14px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.share-dialog a:not([href]){visibility:hidden}
@media(max-width:1100px){.cup-fixture-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cup-sidebar{grid-template-columns:1fr 1fr}.cup-sidebar>:nth-child(2){grid-row:span 2}}
@media(max-width:720px){.cup-entry-banner{padding:12px 18px}.cup-game-panel #cup-workspace{padding:0 18px 20px}.cup-fixture-list{grid-template-columns:1fr}.cup-sidebar{grid-template-columns:1fr;gap:20px}.cup-sidebar>:nth-child(2){grid-row:auto}.cup-side-panel{padding:18px}.cup-panel-body{padding:18px}.cup-game-actions>.cup-button{flex:1}.cup-game-actions>.cup-button:last-child{flex-basis:100%}}
.cup-overview .cup-mark{width:88px;min-width:88px;height:88px;background:transparent;padding:0;border-radius:4px;overflow:hidden}
.cup-ranking{width:100%;border-collapse:collapse;font-size:14px;text-align:left}
.cup-ranking-scroll{overflow-x:auto}.cup-ranking tbody th{overflow-wrap:anywhere}
.cup-ranking th,.cup-ranking td{padding:12px 10px;border-bottom:1px solid var(--line,#c9ccc3)}
.cup-ranking thead{background:var(--paper,#f5f1e7)}
.cup-ranking td:last-child,.cup-ranking th:last-child{text-align:right}
.cup-ranking tbody th{max-width:190px}
.cup-ranking tbody th>a:first-child{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cup-saved-link{display:inline-block;font-size:12px;min-height:28px;padding-top:6px}
.cup-standings .module-heading label{font-size:12px;display:grid;gap:6px}
.cup-standings select{min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font:inherit;color:inherit}
#cup-entry-sharing{margin-top:14px}#cup-entry-sharing .cup-button{white-space:normal}
@media(max-width:640px){.cup-overview.league-masthead{grid-template-columns:44px minmax(0,1fr)}.cup-overview .cup-mark{width:44px;min-width:44px;height:44px}.cup-standings .module-heading{align-items:start}.cup-ranking th,.cup-ranking td{padding:10px 6px}.cup-ranking tbody th{max-width:125px}}
@media(max-width:640px){.cup-overview.league-masthead .league-copy>p.cup-title-sponsor{grid-column:2;grid-row:3;margin-top:1px;font-size:17px}}
@media(max-width:360px){.cup-overview.league-masthead .league-copy>p.cup-title-sponsor{grid-column:1 / -1}}
