/* FA Cup identity on the shared Premier League screen and components. */
:root { --fa-red:var(--cup-cf0024,#cf0024); --fa-ink:#fff; }
body:is(.fa-cup-hub-active,.carabao-cup-hub-active) { background:var(--cup-a90924,#a90924); color:#fff; }
body:is(.fa-cup-hub-active,.carabao-cup-hub-active) #appShell,:is(#faCupScreen,#carabaoCupScreen)[hidden] { display:none !important; }
:is(#faCupScreen,#carabaoCupScreen) {
  --pl-bg:var(--cup-a90924,#a90924); --pl-surface:var(--cup-8e0b24,#8e0b24); --pl-surface-light:var(--cup-b62944,#b62944);
  --pl-line:var(--cup-rgb-255-227-234-p2,rgba(255,227,234,.2)); --pl-muted:var(--cup-f4cbd5,#f4cbd5); --pl-soft:var(--cup-rgb-255-235-240-p08,rgba(255,235,240,.08));
  min-height:100dvh; color:#fff; color-scheme:dark; font-family:Manrope,Arial,sans-serif;
  background:radial-gradient(ellipse at 80% 0%,var(--cup-d41537,#d41537),transparent 70%),var(--cup-a90924,#a90924);
}
:is(#faCupScreen,#carabaoCupScreen) *,:is(#faCupDialog,#carabaoCupDialog) * { box-sizing:border-box; }
:is(#faCupScreen,#carabaoCupScreen) [hidden] { display:none !important; }
:is(#faCupScreen,#carabaoCupScreen) :is(h1,h2,h3,strong) { color:inherit; }
:is(#faCupScreen,#carabaoCupScreen) button { cursor:pointer; touch-action:manipulation; }
:is(#faCupScreen,#carabaoCupScreen) button:disabled { cursor:default; }
:is(#faCupScreen,#carabaoCupScreen) a { color:inherit; }
:is(#faCupScreen,#carabaoCupScreen) .pl-back-button { text-decoration:none; }
:is(#faCupScreen,#carabaoCupScreen) .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar { display:flex; min-height:68px; height:68px; align-items:center; gap:8px; padding:0 clamp(18px,3vw,44px); border-bottom:1px solid var(--pl-line); background:var(--cup-890a23,#890a23); backdrop-filter:blur(18px); }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-site-brand { position:static !important; inset:auto !important; transform:none !important; order:0; flex:none; margin:0 !important; }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-header-left { position:static !important; inset:auto !important; transform:none !important; order:1; display:flex; gap:6px; }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-utility-actions { position:static !important; inset:auto !important; transform:none !important; order:2; display:flex; gap:6px; margin-left:auto; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .brand-mark { display:grid; align-content:center; justify-items:center; width:44px; height:46px; border:1px solid #fff7; border-radius:12px; background:linear-gradient(var(--cup-fff2f5,#fff2f5),var(--cup-efbcc9,#efbcc9)); box-shadow:0 2px 0 var(--cup-5a001660,#5a001660); color:var(--cup-790b21,#790b21); }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .brand-mark-number { font-size:15px; line-height:1; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .brand-mark-label { margin-top:3px; font-size:6px; letter-spacing:.04em; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .utility-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:42px; min-height:42px; padding:0 11px; border:1px solid var(--cup-efb8c452,#efb8c452); border-radius:50%; background:var(--cup-710c23,#710c23); color:var(--cup-ffe5ec,#ffe5ec); font:800 12px Manrope,Arial,sans-serif; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .utility-button>span { color:inherit; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .utility-button>span:last-child { display:none; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .main-account-button { border-radius:24px; padding-inline:13px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .main-account-button>span:last-child { display:inline; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar .news-icon { display:block; }
:is(#faCupScreen,#carabaoCupScreen) .fa-topbar [data-fa-action=restart] { font-size:21px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-main { width:min(1120px,calc(100% - 36px)); margin:0 auto; padding:22px 0 70px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-main { width:min(1080px,calc(100% - 36px)); padding-top:18px; }
/* Use the domestic setup order: settings, club picker, then launch controls. */
.fa-setup-heading { position:relative; display:flex; align-items:center; justify-content:center; min-height:40px; margin-bottom:14px; }
.fa-setup-heading>div { display:flex; align-items:center; justify-content:center; gap:14px; }
.fa-setup-heading img { width:29px; height:39px; object-fit:contain; filter:brightness(0) invert(1); }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-heading h1 { margin:0; font-size:22px; line-height:1.25; letter-spacing:-.65px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-back { position:absolute; left:0; display:inline-flex; align-items:center; gap:9px; width:max-content; min-height:40px; padding:0 13px; border:1px solid var(--cup-efb8c46b,#efb8c46b); border-radius:5px; background:var(--cup-790a22,#790a22); color:#fff; font:800 10px Manrope,Arial,sans-serif; white-space:nowrap; text-decoration:none; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-back>span { display:inline; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-back>span:first-child { font-size:19px; }
.fa-setup-panel { padding:18px; border:1px solid var(--cup-e7a2b480,#e7a2b480); border-radius:12px; background:linear-gradient(145deg,var(--cup-a6223e,#a6223e),var(--cup-790b25,#790b25)); box-shadow:inset 0 1px 0 #fff2,0 18px 40px var(--cup-58071b33,#58071b33); }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 18px; padding:0; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings .landing-setting { display:block; min-width:0; padding:12px; border:1px solid var(--cup-e9b7c252,#e9b7c252); border-radius:9px; background:linear-gradient(145deg,var(--cup-ae304b,#ae304b),var(--cup-850e29,#850e29)); }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings h2 { margin:0; color:#fff; font-size:11px; line-height:1.4; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings .landing-setting-heading { display:flex; align-items:center; justify-content:flex-start; gap:8px; }
.fa-setup-help { position:relative; }
.fa-setup-help summary { display:grid; width:17px; height:17px; place-items:center; border:1px solid var(--cup-efb8c46b,#efb8c46b); border-radius:50%; background:var(--cup-710b24,#710b24); color:var(--cup-f8dce4,#f8dce4); font:800 10px Georgia,serif; cursor:pointer; list-style:none; }
.fa-setup-help summary::-webkit-details-marker { display:none; }
.fa-setup-help>div { position:absolute; top:26px; left:-120px; z-index:8; width:280px; max-width:calc(100vw - 64px); padding:14px; border:1px solid var(--cup-df9daf,#df9daf); border-radius:9px; color:#fff; background:var(--cup-660c21,#660c21); box-shadow:0 12px 30px var(--cup-39061766,#39061766); }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-help p { margin:0; font:500 12px/1.6 Manrope,Arial,sans-serif; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-help p+p { margin-top:8px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setting-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; margin-top:16px; padding:3px; min-height:40px; border:1px solid var(--cup-e6a3b552,#e6a3b552); border-radius:7px; background:var(--cup-710b24,#710b24); }
:is(#faCupScreen,#carabaoCupScreen) .fa-setting-options button { min-width:0; min-height:32px; padding:6px; border:0; border-radius:5px; color:var(--cup-ffeaf0,#ffeaf0); background:transparent; box-shadow:none; font:700 11px Manrope,Arial,sans-serif; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setting-options button.active { color:var(--cup-6c0a21,#6c0a21); background:linear-gradient(115deg,var(--cup-fff0f4,#fff0f4),var(--cup-efb6c6,#efb6c6)); box-shadow:0 1px 2px var(--cup-50001f3d,#50001f3d); }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-setting { grid-column:1 / -1; }
.fa-picker-toolbar { display:flex; min-height:38px; align-items:center; flex-wrap:wrap; gap:12px; margin:14px 0 12px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-filter-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; padding:0 13px; border:1px solid var(--cup-ebbbca66,#ebbbca66); border-radius:999px; color:#fff; background:var(--cup-750c24,#750c24); font:800 10px/1 Manrope,Arial,sans-serif; }
:is(#faCupScreen,#carabaoCupScreen) .fa-filter-button[aria-pressed=true] { color:var(--cup-710a21,#710a21); background:linear-gradient(115deg,var(--cup-fff0f4,#fff0f4),var(--cup-efb6c6,#efb6c6)); box-shadow:inset 0 1px #fff5,0 2px 0 var(--cup-5b091e,#5b091e); }
.fa-filter-check { display:grid; place-items:center; flex:0 0 18px; width:18px; height:18px; border:1px solid transparent; border-radius:50%; visibility:hidden; font-size:11px; }
.fa-filter-button[aria-pressed=true] .fa-filter-check { visibility:visible; border-color:currentColor; }
:is(#faCupCount,#carabaoCupCount) { margin-left:auto; color:var(--cup-f9dce5,#f9dce5); font-size:10px; font-weight:700; white-space:nowrap; }
.fa-picker-tools { display:grid; grid-template-columns:minmax(0,1fr) 190px; align-items:center; gap:10px; margin:0 0 12px; }
.fa-search { flex:1; min-width:0; }
:is(#faCupScreen,#carabaoCupScreen) :is(.fa-search input,.fa-picker-tools select) { width:100%; min-width:0; min-height:40px; padding:8px 12px; border:1px solid var(--cup-df9daf66,#df9daf66); border-radius:6px; outline-offset:2px; color:#fff; background:var(--cup-710b24,#710b24); font:500 12px Manrope,Arial,sans-serif; color-scheme:dark; }
:is(#faCupScreen,#carabaoCupScreen) .fa-search input::placeholder { color:var(--cup-efb8c7,#efb8c7); }
.fa-team-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-content:start; gap:8px; height:312px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:var(--cup-e0a2b3,#e0a2b3) var(--cup-7b0a24,#7b0a24); }
.fa-team-grid>.fa-empty { grid-column:1 / -1; }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-card { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:9px; min-width:0; min-height:72px; padding:9px; border:1px solid var(--cup-e4afbf66,#e4afbf66); border-radius:7px; background:linear-gradient(145deg,var(--cup-b33450,#b33450),var(--cup-830c29,#830c29)); color:#fff; text-align:left; }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-card>span { display:grid; gap:3px; min-width:0; }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-card strong { font-size:10px; line-height:1.25; font-weight:800; letter-spacing:-.1px; overflow-wrap:anywhere; }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-card small { font-size:8px; line-height:1.4; color:var(--cup-ffe2eb,#ffe2eb); }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-card.is-selected { border-color:var(--cup-ffe7ee,#ffe7ee); color:var(--cup-710a21,#710a21); background:linear-gradient(115deg,var(--cup-fff0f4,#fff0f4),var(--cup-efb6c6,#efb6c6)); box-shadow:inset 0 1px #fff5,0 2px 0 var(--cup-5b091e,#5b091e); }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-card.is-selected :is(strong,small) { color:var(--cup-710a21,#710a21); }
.fa-team-card i { position:absolute; top:4px; right:6px; color:inherit; font:800 10px Manrope,Arial,sans-serif; }
.fa-club-badge { display:block; flex:none; width:36px; height:36px; object-fit:contain; }
:is(#faCupScreen,#carabaoCupScreen) img[data-fa-badge=nottingham-forest],:is(#faCupScreen,#carabaoCupScreen) img[data-fa-badge=liverpool],:is(#faCupScreen,#carabaoCupScreen) img[data-fa-badge=tottenham-hotspur] { filter:brightness(0) invert(1); }
:is(#faCupScreen,#carabaoCupScreen) .fa-team-card.is-selected img[data-fa-badge] { filter:none; }
:is(#faCupScreen,#carabaoCupScreen) .fa-start-actions { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:10px; flex-wrap:wrap; margin:0; }
.fa-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:11px 17px; border:1px solid transparent; border-radius:6px; font:800 12px Manrope,Arial,sans-serif; text-decoration:none; cursor:pointer; transition:background-color 160ms ease,border-color 160ms ease,transform 140ms cubic-bezier(.23,1,.32,1); }
.fa-button:active { transform:scale(.97); }
.fa-button:disabled { opacity:.55; cursor:default; }
.fa-primary,.fa-white { color:var(--cup-790a22,#790a22) !important; border-color:var(--cup-ffe0e9,#ffe0e9); background:var(--cup-ffe7ee,#ffe7ee); }
.fa-secondary { color:#fff !important; border-color:var(--cup-efb8c466,#efb8c466); background:var(--cup-af2c49,#af2c49); }
:is(#faCupScreen,#carabaoCupScreen) .fa-start-actions>.fa-primary { min-width:220px; color:#fff !important; border-color:var(--cup-e67d94,#e67d94); background:var(--cup-c62b4b,#c62b4b); box-shadow:inset 0 1px #fff3,0 3px 0 var(--cup-5b091e,#5b091e); }
.fa-setup-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-selection { margin:12px 0 0; padding-top:12px; border-top:1px solid var(--pl-line); font-size:11px; line-height:1.5; color:#fff; }
:is(#faCupScreen,#carabaoCupScreen) .fa-setup-selection small { display:block; margin-top:3px; color:var(--cup-f6ccd8,#f6ccd8); font-size:10px; line-height:1.5; }
@media(hover:hover) {
  :is(#faCupScreen,#carabaoCupScreen) .fa-team-card:hover { border-color:var(--cup-ffe7ee,#ffe7ee); }
  :is(#faCupScreen,#carabaoCupScreen) .fa-filter-button:hover { border-color:var(--cup-ffe7ee,#ffe7ee); }
  :is(#faCupScreen,#carabaoCupScreen) .fa-start-actions .fa-button:hover { filter:brightness(1.1); }
}
.fa-source-note { margin-top:20px; font-size:11px; line-height:1.8; color:var(--cup-f6cdd7,#f6cdd7); }
.fa-source-note summary { cursor:pointer; color:#fff; }
.fa-source-note p { max-width:920px; }
.fa-source-note a { text-decoration:underline; text-underline-offset:3px; }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-action-row .pl-primary-button { color:#fff; background:var(--cup-be2c48,#be2c48); }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-tabs { background:var(--cup-86091f,#86091f); }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-tabs button.active { background:var(--cup-c12c4a,#c12c4a); color:#fff; }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-tabs button:not(.active) { color:var(--cup-ffd7e2,#ffd7e2); }
.fa-season-round { display:flex; align-items:center; gap:12px; }
.fa-season-round>img { width:27px; height:38px; object-fit:contain; filter:brightness(0) invert(1); }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-date span { color:var(--cup-ffd1de,#ffd1de); font-size:10px; }
:is(#faCupScreen,#carabaoCupScreen) .pl-season-date h1 { margin:0; font-size:16px; line-height:1.3; font-weight:800; letter-spacing:-.35px; }
:is(#faCupScreen,#carabaoCupScreen) :is(.pl-panel,.pl-squad-card,.pl-season-finale) { background:var(--pl-surface); border-color:var(--pl-line); }
:is(#faCupScreen,#carabaoCupScreen) .pl-fixture-row { background:transparent; }
:is(#faCupScreen,#carabaoCupScreen) .pl-fixture-row.is-managed-match { border-radius:0; background:transparent; box-shadow:none; }
:is(#faCupScreen,#carabaoCupScreen) .pl-fixture-play { color:#fff; border-color:var(--cup-eeafc059,#eeafc059); background:var(--cup-bd2e4b,#bd2e4b); }
:is(#faCupScreen,#carabaoCupScreen) .pl-fixture-row.is-managed-match .pl-fixture-play { color:var(--cup-7b0b23,#7b0b23); background:var(--cup-fff0f5,#fff0f5); }
:is(#faCupScreen,#carabaoCupScreen) :is(.pl-fixture-score small,.pl-panel-heading p,.pl-panel-heading button,.pl-panel-footer button,.pl-back-button,.pl-player-list i,.pl-squad-card-copy small,.pl-squad-rating span) { color:var(--cup-f5c4d3,#f5c4d3); }
:is(#faCupScreen,#carabaoCupScreen) .pl-fixture-team img { width:30px; height:34px; }
:is(#faCupScreen,#carabaoCupScreen) .pl-matchweek-nav button { background:var(--cup-bd2e4b,#bd2e4b); border-color:var(--pl-line); color:#fff; }
:is(#faCupScreen,#carabaoCupScreen) .pl-matchweek-nav button:disabled { opacity:.35; }
:is(#faCupScreen,#carabaoCupScreen) .pl-panel-heading h2 { font-size:20px; }
.fa-round-row { display:flex; align-items:center; justify-content:space-between; gap:18px; width:100%; min-height:64px; padding:13px 22px; border:0; border-bottom:1px solid var(--pl-line); color:#fff; background:transparent; text-align:left; font:700 12px Manrope,Arial,sans-serif; }
.fa-round-row>span:first-child { display:grid; gap:4px; }
.fa-round-row>span:last-child { display:flex; align-items:center; gap:16px; color:var(--cup-f3c3d0,#f3c3d0); font-size:10px; white-space:nowrap; }
.fa-round-row small { font-size:10px; color:var(--cup-f2c5d1,#f2c5d1); }
.fa-round-row i { font-style:normal; font-size:16px; }
.fa-round-row.is-current { background:var(--cup-bd2e4b66,#bd2e4b66); box-shadow:inset 3px 0 var(--cup-ffbdce,#ffbdce); }
.fa-round-row:disabled { color:var(--cup-e9b3c2,#e9b3c2); }
.fa-panel-links { gap:20px; }
.fa-panel-links>button:first-child { margin-right:auto; }
.fa-context-note { color:var(--cup-f4cbd5,#f4cbd5); font-size:12px; line-height:1.7; }
.fa-scorers-panel { margin-top:20px; }
.fa-scorers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.fa-scorer-row { display:grid; grid-template-columns:20px 32px minmax(0,1fr) 36px; align-items:center; gap:12px; min-height:76px; padding:14px 22px; border-bottom:1px solid var(--pl-line); font-size:12px; }
.fa-scorers-grid>.fa-scorer-row:nth-child(odd) { border-right:1px solid var(--pl-line); }
.fa-scorer-row>span { color:var(--cup-efb7c8,#efb7c8); }
.fa-scorer-row .fa-club-badge { width:30px; height:34px; }
.fa-scorer-row>div { display:grid; gap:5px; }
.fa-scorer-row small { display:block; font-size:10px; color:var(--cup-edbdcc,#edbdcc); font-weight:500; }
.fa-scorer-row>b { text-align:center; font-size:19px; }
.fa-squad-toolbar { display:flex; align-items:center; gap:18px; margin-bottom:20px; }
.fa-squad-toolbar .fa-search { max-width:360px; }
.fa-squad-toolbar>span { color:var(--cup-f4cbd5,#f4cbd5); font-size:11px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-squad-card { display:block; padding:0; }
.fa-squad-toggle { display:grid; grid-template-columns:42px minmax(0,1fr) auto; width:100%; align-items:center; gap:14px; padding:20px; border:0; border-radius:inherit; background:transparent; color:#fff; text-align:left; font:inherit; }
.fa-squad-toggle .pl-squad-rating { display:grid; gap:4px; }
:is(#faCupScreen,#carabaoCupScreen) .fa-squad-card .pl-squad-detail { margin:0; padding:0 20px 18px; }
:is(#faCupScreen,#carabaoCupScreen) .pl-squad-detail .pl-player-list>span { border-color:var(--pl-line); }
:is(#faCupScreen,#carabaoCupScreen) .pl-player-list b small { display:block; color:var(--cup-efb6c6,#efb6c6); font-size:9px; font-weight:400; }
.fa-table-caption { margin:14px 0 0; color:var(--cup-eabaca,#eabaca); font-size:10px; line-height:1.8; }
.fa-table-caption a { text-underline-offset:3px; }
.fa-history-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:20px; }
.fa-history-card { display:grid; justify-items:center; gap:10px; padding:22px; border:1px solid var(--pl-line); border-radius:12px; background:var(--cup-a7203c,#a7203c); color:#fff; font:inherit; }
.fa-history-card .fa-club-badge { width:48px; height:52px; }
.fa-history-card strong { font-size:14px; }
.fa-history-card :is(span,small) { color:var(--cup-f4c4d3,#f4c4d3); font-size:11px; }
/* Reuse the domestic finale geometry; every surface keeps the cup palette. */
:is(#faCupScreen,#carabaoCupScreen) .fa-finale { box-shadow:0 22px 60px var(--cup-50001f52,#50001f52); }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-hero { border-color:var(--pl-line); background:radial-gradient(circle at 50% 0%,var(--cup-eb79944a,#eb79944a),transparent 48%),var(--cup-a7203c,#a7203c); }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-hero p { color:var(--cup-f4cbd5,#f4cbd5); }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-hero p strong { color:#fff; }
:is(#faCupScreen,#carabaoCupScreen) :is(.pl-finale-place,.pl-finale-award) { border-color:var(--pl-line); background:linear-gradient(135deg,var(--cup-a7203c,#a7203c),var(--cup-790b25,#790b25)); box-shadow:inset 3px 0 0 var(--cup-ffbace,#ffbace),0 10px 24px var(--cup-50001f33,#50001f33); }
:is(#faCupScreen,#carabaoCupScreen) :is(.pl-finale-section-title,.pl-finale-place>b) { color:var(--cup-ffe0e9,#ffe0e9); }
:is(#faCupScreen,#carabaoCupScreen) :is(.pl-finale-place small,.pl-finale-award-copy small) { color:var(--cup-f4cbd5,#f4cbd5); }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-place strong { white-space:normal; overflow-wrap:anywhere; }
:is(#faCupScreen,#carabaoCupScreen) .fa-finale-semifinalists { grid-template-columns:28px minmax(0,1fr); }
.fa-finale-semifinalists>div { display:grid; gap:5px; }
.fa-finale-semifinalists>div>div { display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; align-items:center; }
.fa-finale-semifinalists small { margin-left:38px; }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-award-mark { background:var(--cup-bd2e4b,#bd2e4b); }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-award-copy h3 { margin:0; color:var(--cup-ffe0e9,#ffe0e9); font:800 11px Manrope,Arial,sans-serif; }
.fa-finale-highlight-entry { min-width:0; }
.fa-finale-highlight-entry+.fa-finale-highlight-entry { margin-top:5px; }
.fa-finale-highlight-entry p { margin:2px 0 4px; color:#fff; font-size:15px; font-weight:800; line-height:1.3; overflow-wrap:anywhere; }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-award-copy small { line-height:1.5; }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-actions button { border-color:var(--cup-efb8c466,#efb8c466); background:var(--cup-a7203c,#a7203c); color:#fff; }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-actions .is-primary { background:var(--cup-fff0f5,#fff0f5); color:var(--cup-790a22,#790a22); }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-actions button:is(:hover,:focus-visible):not(:disabled) { border-color:var(--cup-ffe0e9,#ffe0e9); background:var(--cup-c43755,#c43755); color:#fff; }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-actions .is-primary:is(:hover,:focus-visible) { background:#fff; color:var(--cup-790a22,#790a22); }
:is(#faCupScreen,#carabaoCupScreen) .pl-finale-actions button:focus-visible { outline-color:var(--cup-ffbace,#ffbace); }
.fa-empty,.fa-status { margin:0; padding:20px; color:var(--cup-f5ccd8,#f5ccd8); font-size:12px; line-height:1.7; }
.fa-status:empty { display:none; }
.fa-loading { display:grid; justify-items:center; padding:80px 20px; text-align:center; color:#fff; }
.fa-loading img { width:84px; height:112px; object-fit:contain; filter:brightness(0) invert(1); }
.fa-loading h1 { margin:25px 0 8px; font-size:26px; }
.fa-loading p { color:var(--cup-f6cfda,#f6cfda); }
:is(#faCupDialog,#carabaoCupDialog) { width:min(560px,calc(100vw - 28px)); max-height:calc(100dvh - 36px); padding:0; overflow:auto; border:1px solid var(--cup-e49cae,#e49cae); border-radius:16px; background:linear-gradient(145deg,var(--cup-b12340,#b12340),var(--cup-790b26,#790b26)); color:#fff; color-scheme:dark; font-family:Manrope,Arial,sans-serif; box-shadow:0 24px 80px var(--cup-50001f88,#50001f88); }
:is(#faCupDialog,#carabaoCupDialog)::backdrop { background:var(--cup-41000cbc,#41000cbc); backdrop-filter:blur(5px); }
.fa-dialog-content { position:relative; padding:30px; }
:is(#faCupDialog,#carabaoCupDialog) h2 { margin:0 44px 16px 0; color:#fff; font-size:24px; }
:is(#faCupDialog,#carabaoCupDialog) p { font-size:13px; line-height:1.7; color:var(--cup-f5ceda,#f5ceda); }
.fa-dialog-close { position:absolute; top:20px; right:20px; display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--cup-e9aec070,#e9aec070); border-radius:7px; color:#fff; background:var(--cup-6e0a23,#6e0a23); font-size:24px; cursor:pointer; }
.fa-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:24px; }
:is(#faCupDialog,#carabaoCupDialog) .fa-setting { display:grid; gap:9px; margin:20px 0; color:var(--cup-ffe0ea,#ffe0ea); font-size:13px; font-weight:700; }
:is(#faCupDialog,#carabaoCupDialog) .fa-setting select { padding:12px; border:1px solid var(--cup-d388a0,#d388a0); border-radius:8px; color:#fff; background:var(--cup-730d27,#730d27); color-scheme:dark; font:inherit; }
@media(hover:hover) and (pointer:fine) {
  :is(#faCupScreen,#carabaoCupScreen) .fa-team-card:hover { background:var(--cup-c23b59,#c23b59); border-color:var(--cup-ffe2ec,#ffe2ec); }
  :is(#faCupScreen,#carabaoCupScreen) :is(.pl-fixture-play,.pl-matchweek-nav button,.pl-season-action-row .pl-primary-button):hover:not(:disabled) { background:var(--cup-d34460,#d34460); }
  :is(#faCupScreen,#carabaoCupScreen) :is(.fa-round-row,.fa-squad-toggle):hover:not(:disabled) { background:#fff1; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-topbar .utility-button:hover { background:var(--cup-ba2c48,#ba2c48); color:#fff; }
  .fa-secondary:hover { background:var(--cup-c43755,#c43755); }.fa-primary:hover { background:#fff; }
}
/* Match the league setup dock: reserve 90px for the sticky ad plus a 14px gap. */
@media(max-width:1280px) {
  :is(#faCupScreen,#carabaoCupScreen) .fa-main.fa-setup-main { padding-bottom:calc(196px + env(safe-area-inset-bottom)); }
  :is(#faCupScreen,#carabaoCupScreen) .fa-start-actions { position:fixed; z-index:80; left:50%; right:auto; bottom:calc(104px + env(safe-area-inset-bottom)); width:min(720px,calc(100% - 24px)); transform:translateX(-50%); align-items:stretch; flex-wrap:nowrap; gap:7px; padding:7px; border:1px solid var(--cup-e7a2b480,#e7a2b480); border-radius:11px; background:var(--cup-790b25,#790b25); box-shadow:0 8px 30px var(--cup-44061766,#44061766); }
  :is(#faCupScreen,#carabaoCupScreen) .fa-start-actions>.fa-primary { min-width:0; flex:1 1 auto; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-start-actions>.fa-secondary { flex:0 0 auto; }
}
@media(max-width:1100px) { .fa-team-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:800px) {
  :is(#faCupScreen,#carabaoCupScreen) .fa-setup-heading h1 { font-size:19px; }.fa-setup-heading { justify-content:flex-end; }
  .fa-team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .fa-scorers-grid,.fa-history-grid { grid-template-columns:1fr; }
  .fa-scorers-grid>.fa-scorer-row:nth-child(odd) { border-right:0; }
}
@media(max-width:640px) {
  :is(#faCupScreen,#carabaoCupScreen) .fa-topbar { min-height:64px; height:64px; padding:0 12px; gap:5px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-topbar .utility-button { min-width:34px; min-height:36px; width:34px; padding:0; border-radius:9px; font-size:12px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-topbar .main-account-button>span:last-child { display:none; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-topbar .brand-mark { width:37px; height:42px; border-radius:10px; }
  :is(#faCupScreen,#carabaoCupScreen) :is(.pl-season-header-left,.pl-season-utility-actions) { gap:4px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-main { width:calc(100% - 24px); padding:16px 0 40px; }
  .fa-setup-heading { justify-content:flex-start; align-items:flex-start; min-height:86px; padding-top:47px; margin-bottom:16px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-setup-back { top:0; padding:9px 12px; min-height:36px; }
  .fa-setup-heading>div { justify-content:center; gap:10px; width:100%; }
  .fa-setup-heading img { width:28px; height:38px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-setup-heading h1 { font-size:18px; }
  .fa-setup-panel { padding:10px; border-radius:10px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings { grid-template-columns:1fr; gap:9px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings .landing-setting { padding:11px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings h2 { font-size:11px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-setting-options { margin-top:12px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-setup-settings p { margin-top:12px; }
  .fa-picker-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:12px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-filter-button { padding:0 8px; gap:5px; min-height:38px; font-size:10px; }
  :is(#faCupCount,#carabaoCupCount) { grid-column:1 / -1; justify-self:end; margin:0; font-size:9px; }
  .fa-picker-tools { grid-template-columns:minmax(0,1fr) 130px; gap:8px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-picker-tools select { padding-inline:8px; font-size:11px; }
  .fa-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); height:328px; gap:7px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-team-card { grid-template-columns:28px minmax(0,1fr); gap:8px; min-height:72px; padding:9px 7px; }
  .fa-team-card .fa-club-badge { width:28px; height:32px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-team-card strong { font-size:10px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-team-card small { font-size:8px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-start-actions>.fa-primary { min-width:0; flex:1 1 120px; }
  :is(#faCupScreen,#carabaoCupScreen) .fa-start-actions .fa-button { min-height:42px; padding:10px; font-size:11px; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-action-row { grid-template-columns:minmax(0,1fr) auto; gap:14px; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-action-row>.pl-back-button { grid-column:1; grid-row:1; font-size:11px; }
  .fa-season-round { grid-column:2; grid-row:1; justify-self:end; gap:8px; }
  .fa-season-round>img { width:23px; height:32px; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-date h1 { font-size:14px; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-date span { font-size:8px; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-action-row .pl-season-header-actions { grid-column:1 / -1; width:100%; justify-self:stretch; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-header-actions .pl-primary-button { width:100%; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-tabs { gap:4px; margin-top:16px; padding:5px; }
  :is(#faCupScreen,#carabaoCupScreen) .pl-season-tabs button { min-width:0; padding-inline:7px; font-size:11px; }
  .fa-round-row { min-height:64px; padding:12px 16px; }
  .fa-round-row>span:last-child { gap:10px; }
  .fa-panel-links { gap:15px; }
  .fa-squad-toolbar { flex-wrap:wrap; gap:10px; }.fa-squad-toolbar .fa-search { flex-basis:100%; max-width:none; }
  .fa-squad-toggle { padding:16px; }
  .fa-scorer-row { padding:13px 16px; gap:10px; }
  .fa-dialog-content { padding:24px 20px; }.fa-dialog-actions>.fa-button { flex:1; }
}
@media(prefers-reduced-motion:reduce) { :is(#faCupScreen,#carabaoCupScreen) *,:is(#faCupDialog,#carabaoCupDialog) * { transition:none !important; scroll-behavior:auto; } }

:is(.competition-folder-fa-cup,.competition-folder-carabao-cup),:is(.competition-edition-fa-cup,.competition-edition-carabao-cup) { background:linear-gradient(140deg,var(--cup-df001f,#df001f),var(--cup-9b071a,#9b071a)) !important; color:#fff !important; border-color:var(--cup-b6001c,#b6001c) !important; }
:is(.competition-folder-fa-cup,.competition-folder-carabao-cup) .competition-folder-art { display:flex; align-items:center; justify-content:center; }
:is(.competition-folder-fa-cup,.competition-folder-carabao-cup) .competition-folder-art img { min-width:0; min-height:0; width:100% !important; height:100% !important; max-width:100%; max-height:100%; object-fit:contain; filter:brightness(0) invert(1); }
:is(.competition-folder-fa-cup,.competition-folder-carabao-cup) small,:is(.competition-folder-fa-cup,.competition-folder-carabao-cup) .competition-folder-hint { color:var(--cup-ffdbe2,#ffdbe2) !important; }
:is(.competition-edition-fa-cup,.competition-edition-carabao-cup) img { max-width:104px; max-height:136px; object-fit:contain; filter:brightness(0) invert(1); }
.competition-archive-panel:has(:is([data-competition-archive=fa-cup],[data-competition-archive=carabao-cup]):not([hidden])) { background:var(--cup-850d22,#850d22); color:#fff; border-color:var(--cup-e84462,#e84462); }
.competition-archive-panel:has(:is([data-competition-archive=fa-cup],[data-competition-archive=carabao-cup]):not([hidden])) #competitionArchiveLogo { filter:brightness(0) invert(1); }
.competition-archive-panel:has(:is([data-competition-archive=fa-cup],[data-competition-archive=carabao-cup]):not([hidden])) .competition-archive-back { color:#fff; border-color:var(--cup-e56b86,#e56b86); background:var(--cup-a71a35,#a71a35); }
:is(.fa-cup-mode-active,.carabao-cup-mode-active) :is(button,a,input,select,summary):focus-visible,:is(#faCupDialog,#carabaoCupDialog) :is(button,a):focus-visible { outline:3px solid var(--cup-f6577c,#f6577c); outline-offset:3px; }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) dialog:not(:is(#faCupDialog,#carabaoCupDialog)) { --accent:var(--cup-da0731,#da0731); --accent-color:var(--cup-da0731,#da0731); --panel:var(--cup-41101f,#41101f); --border:var(--cup-984562,#984562); }
/* Cup identity follows the player into shared settings and achievements. */
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) dialog,
html body :is(#achievementsScreen,#retroAchievementsModal,#achievementUnlockModal,#achievementUnlockBanner)[data-achievement-theme$="cup-2026-27"] {
  --popup-blue-950:var(--cup-320911,#320911); --popup-blue-850:var(--cup-620c20,#620c20); --popup-blue-line:var(--cup-ac3754,#ac3754);
  --popup-blue-text:#fff; --popup-blue-muted:var(--cup-f2ccd7,#f2ccd7); --popup-blue-accent:var(--cup-f14668,#f14668); --popup-blue-accent-bright:var(--cup-ff9eb3,#ff9eb3);
  --achievement-accent:var(--cup-f14668,#f14668); --achievement-accent-text:#fff; --achievement-copy:#fff;
  --achievement-muted:var(--cup-f2ccd7,#f2ccd7); --achievement-surface:var(--cup-92091f,#92091f); --achievement-surface-deep:var(--cup-420815,#420815);
  --achievement-tab-surface:var(--cup-5c0b1d,#5c0b1d); --achievement-card:var(--cup-771129,#771129); --achievement-card-complete:var(--cup-a80d31,#a80d31);
  --achievement-shadow:var(--cup-31010da8,#31010da8);
  --achievement-points:var(--cup-ffbed0,#ffbed0);
}
html body [data-achievement-theme$="cup-2026-27"] :is(.retro-achievements-logo,.achievement-unlock-tournament-logo) { filter:brightness(0) invert(1); background:transparent; object-fit:contain; }
html body #achievementUnlockModal[data-achievement-theme$="cup-2026-27"] { background:linear-gradient(145deg,var(--cup-92091f,#92091f),var(--cup-420815,#420815)) !important; color:#fff; border-color:var(--cup-d04c69,#d04c69); }
html body #achievementUnlockModal[data-achievement-theme$="cup-2026-27"]::backdrop { background:var(--cup-2c020dd9,#2c020dd9) !important; backdrop-filter:blur(5px); }
html body #achievementUnlockBanner[data-achievement-theme$="cup-2026-27"] { background:var(--cup-92091f,#92091f); color:#fff; border-top-color:var(--cup-ff9eb3,#ff9eb3); box-shadow:0 12px 30px var(--cup-31010da8,#31010da8); }
html body [data-achievement-theme$="cup-2026-27"] :is(.achievement-unlock-mark,.achievement-unlock-banner-mark) { color:#fff; background:var(--cup-c9002d,#c9002d); }
html body [data-achievement-theme$="cup-2026-27"] :is(.achievement-unlock-kicker,.achievement-unlock-banner small) { display:none; }
html body #achievementUnlockBanner[data-achievement-theme$="cup-2026-27"] .achievement-unlock-banner-arrow { color:var(--cup-ff9eb3,#ff9eb3); }
html body #achievementUnlockModal[data-achievement-theme$="cup-2026-27"] .achievement-unlock-action { color:#fff !important; background:var(--cup-c9002d,#c9002d) !important; }
html body #achievementUnlockModal[data-achievement-theme$="cup-2026-27"] .achievement-unlock-close,
html body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #settingsModal[open] :is(.icon-button,.close-modal) { color:#fff !important; border-color:var(--cup-b34b68,#b34b68) !important; background:var(--cup-70132f,#70132f) !important; }
html body:is(.fa-cup-mode-active,.carabao-cup-mode-active) dialog[open] :is(button,a,input,select,textarea):focus-visible,
html body [data-achievement-theme$="cup-2026-27"] :is(button,a):focus-visible { outline-color:var(--cup-ff94b0,#ff94b0) !important; }
html body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #settingsModal[open]::backdrop { background:var(--cup-2c020dd9,#2c020dd9) !important; }
html body dialog:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal)[open] { --popup-blue-text:#fff; --popup-blue-muted:var(--cup-ffe4e9,#ffe4e9); --popup-blue-accent:var(--cup-ff94b0,#ff94b0); --popup-blue-950:var(--cup-8d071e,#8d071e); padding:0; width:min(540px,calc(100vw - 28px)); max-height:calc(100dvh - 36px) !important; overflow:auto; border:1px solid var(--cup-ec627a,#ec627a) !important; border-radius:18px; background:linear-gradient(145deg,var(--cup-d10021,#d10021),var(--cup-8d071e,#8d071e)) !important; color:#fff; }
html body dialog:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal)[open]::backdrop { background:var(--cup-280009b8,#280009b8) !important; backdrop-filter:blur(5px); }
html body dialog:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal)[open] :is(button,a):focus-visible { outline:3px solid var(--cup-ff94b0,#ff94b0) !important; outline-offset:3px; }
:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal) .fa-release-content { padding:38px; text-align:center; }
:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal) img { object-fit:contain; filter:brightness(0) invert(1); margin-bottom:22px; }
:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal) h2 { color:#fff; margin:0 0 16px; font-size:32px; }
:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal) p { color:var(--cup-ffe4e9,#ffe4e9); }
:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal) .fa-button { margin-top:18px; }
:is(#faCupAnnouncementModal,#carabaoCupAnnouncementModal) .fa-dialog-close { color:#fff; border-color:var(--cup-ee8298,#ee8298); background:var(--cup-ad1537,#ad1537); }
.fa-setting { display:grid; gap:9px; margin:20px 0; font-size:13px; font-weight:650; color:var(--cup-6b1330,#6b1330); }
.fa-setting select { border:1px solid var(--cup-d9bdc9,#d9bdc9); padding:12px; border-radius:8px; background:#fff; color:var(--cup-5d1530,#5d1530); color-scheme:light; font:inherit; }

/* The match uses the Premier League layout, with the same red canvas as setup. */
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) {
  --accent:var(--cup-db001b,#db001b); --accent-color:var(--cup-db001b,#db001b); --accent-strong:var(--cup-db001b,#db001b); --accent-soft:var(--cup-ba2846,#ba2846);
  --bg:var(--cup-a90924,#a90924); --surface:var(--cup-8e0b24,#8e0b24); --surface-2:var(--cup-b62944,#b62944); --panel:var(--cup-8e0b24,#8e0b24); --panel-soft:var(--cup-a7203c,#a7203c); --panel-2:var(--cup-a7203c,#a7203c); --panel-3:var(--cup-b62944,#b62944);
  --text:#fff; --muted:var(--cup-f4cbd5,#f4cbd5); --soft:var(--cup-f4cbd5,#f4cbd5); --border:var(--cup-ca6278,#ca6278); --line:#ffffff30; --line-strong:#ffffff50;
  --lime:var(--cup-ffcedc,#ffcedc); --lime-dark:var(--cup-d7193e,#d7193e); --orange:var(--cup-efc6cf,#efc6cf); --ucl-accent:var(--cup-db001b,#db001b); --ucl-blue:var(--cup-db001b,#db001b); --ucl-glow:var(--cup-dc002640,#dc002640); --pl-purple:var(--cup-b62944,#b62944);
  --pl-bg:var(--cup-a90924,#a90924); --pl-surface:var(--cup-8e0b24,#8e0b24); --pl-line:#ffffff30; --pl-muted:var(--cup-f4cbd5,#f4cbd5);
  background:var(--cup-a90924,#a90924); color:#fff;
}
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell { background:radial-gradient(ellipse at 80% 0%,var(--cup-d41537,#d41537),transparent 70%),var(--cup-a90924,#a90924) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell .sidebar { background:var(--cup-890a23,#890a23) !important; border-color:var(--cup-efb8c452,#efb8c452); }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell .brand-mark { color:var(--cup-790b21,#790b21) !important; background:linear-gradient(var(--cup-fff2f5,#fff2f5),var(--cup-efbcc9,#efbcc9)) !important; box-shadow:none !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell .header-actions .utility-button>* { color:inherit; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.topbar,#roundBoard,#storyStrip,.plot-panel) { display:none !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(#plEngineTablePanel,#uclEngineTablePanel,#fieldOverview,.page-kicker,.eyebrow-row>span:first-child) { display:none !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active).pl-match-mode-active #appShell>.sidebar>#newTournamentButton { position:static !important; order:3 !important; display:inline-flex !important; align-items:center; justify-content:center; width:42px; height:42px; margin:0; border-radius:50%; font-size:21px; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell #newTournamentButton>span { color:var(--cup-ffe1e9,#ffe1e9) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell #standardMatchTactics { background:var(--cup-8e0b24,#8e0b24) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell #standardTacticButtons button.active { color:var(--cup-790b21,#790b21) !important; background:var(--cup-fff0f5,#fff0f5) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(#standardTacticOpponent,#standardTacticFeedback) { color:var(--cup-f4cbd5,#f4cbd5) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.panel,.standard-tactic-buttons,.fixture,.queue-item,.match-stats-grid,.lineup-panel,.lineup-bench,.team-management-panel,.round-board,.pl-watch-tactics) { color:#fff; background:var(--cup-8e0b24,#8e0b24) !important; border-color:var(--cup-ca6278,#ca6278) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.match-stage,.match-stage.pl-prematch) { background:radial-gradient(ellipse at 50% 20%,var(--cup-cf2e4f55,#cf2e4f55),transparent 75%),var(--cup-8e0b24,#8e0b24) !important; border-color:var(--cup-ca6278,#ca6278) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.panel-heading,.live-status,.standard-tactic-options,.standard-tactic-control,.tactical-feedback,.opponent-tactic) { color:var(--cup-ffe0e9,#ffe0e9); background:var(--cup-a7203c,#a7203c); border-color:var(--cup-ca6278,#ca6278); }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.standard-tactic-buttons button,.fixture-filter-input,.utility-button,.legacy-topbar-back,.header-action,.header-new-tournament,.icon-button,.live-control,#uclLiveBackButton) { color:var(--cup-ffe1e9,#ffe1e9) !important; border-color:var(--cup-efb8c452,#efb8c452) !important; background:var(--cup-790c26,#790c26) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.standard-tactic-buttons button.active,.primary-button,.play-button) { color:var(--cup-790b21,#790b21) !important; background:var(--cup-fff0f5,#fff0f5) !important; border-color:var(--cup-ffe0e9,#ffe0e9) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.standard-tactic-opponent,.standard-tactic-feedback,.panel-heading span,.golden-boot-empty p,.stats-empty,.fixture-round,.event-minute,.stage-round,.standard-match-tactics>span) { color:var(--cup-f4cbd5,#f4cbd5); }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell :is(.score,.goal-minute,.event-minute,.live-phase,.player-overall,.squad-rating,.golden-boot-row>b) { color:var(--cup-ffd1de,#ffd1de); }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchStage .result-note:not([hidden]),
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchStage .team-match-events :is(.timeline-event b,.event b) { color:#fff; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) .country-flag.fa-cup-club-flag { background:transparent !important; border:0 !important; box-shadow:none !important; overflow:visible !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) .country-flag.fa-cup-club-flag img { width:100%; height:100%; object-fit:contain !important; filter:drop-shadow(0 1px 2px #0007); }
@media (min-width:851px) {
  body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchStage:not(.is-live) .team h2.team-name { max-width:100%; overflow:visible !important; white-space:normal !important; font-size:clamp(16px,2vw,26px) !important; line-height:1.25 !important; mask-image:none !important; }
  body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchStage:not(.is-live) .team h2.team-name>span { display:block !important; width:100% !important; min-width:0 !important; max-width:100% !important; height:auto !important; white-space:normal !important; overflow:visible !important; transform:none !important; animation:none !important; }
}
@media (max-width:850px) {
  body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchStage .team { min-width:0; gap:5px; }
  body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchStage .flag-orb { width:34px; height:34px; flex:0 0 34px; }
}
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) .fa-cup-club-flag[data-team-id="fa-cup-2026-27:tottenham-hotspur"] img { filter:brightness(0) invert(1); }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #menuButton { display:none !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) .score { font-family:Inter,Arial,sans-serif !important; font-style:normal !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #uclLiveBackButton { display:inline-flex; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchStatsPanel :is(summary,.panel-heading),body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) .match-stats-panel summary { background:var(--cup-a7203c,#a7203c) !important; color:#fff !important; border-color:var(--cup-ca6278,#ca6278) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchAnalysis { background:var(--cup-8e0b24,#8e0b24) !important; border-color:var(--cup-ca6278,#ca6278) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchAnalysis .match-analysis-heading { color:#fff !important; background:var(--cup-a7203c,#a7203c) !important; border-color:var(--cup-ca6278,#ca6278) !important; }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #matchAnalysis .match-stat-row { color:var(--cup-f4cbd5,#f4cbd5); border-color:var(--cup-ca6278,#ca6278); }
/* Shared match snapshots must carry the cup palette into the dialog and export. */
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell #snapshotButton { color:#fff; border-color:var(--cup-e597aa,#e597aa); background:var(--cup-a7203c,#a7203c); box-shadow:0 10px 24px var(--cup-570b2157,#570b2157); }
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell #snapshotButton:focus-visible { outline:3px solid var(--cup-ffe0e9,#ffe0e9); outline-offset:3px; }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal { color:#fff; border:1px solid var(--cup-e597aa,#e597aa); background:var(--cup-8e0b24,#8e0b24); box-shadow:0 28px 90px var(--cup-570b2166,#570b2166); }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal::backdrop { background:var(--cup-41000cbc,#41000cbc); backdrop-filter:blur(5px); }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal form { color:#fff; border:0; background:linear-gradient(145deg,var(--cup-b12340,#b12340),var(--cup-790b26,#790b26)); }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal #snapshotModalKicker { display:none; }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal h2 { color:#fff; margin-top:0; }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal .snapshot-preview { border-color:var(--cup-e597aa,#e597aa); background:var(--cup-890a23,#890a23); box-shadow:0 18px 50px var(--cup-570b2144,#570b2144); }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal :is(.snapshot-actions button,.close-modal) { color:#fff; border-color:var(--cup-e597aa,#e597aa); background:var(--cup-a7203c,#a7203c); }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal #copySnapshotButton { color:var(--cup-790b21,#790b21); border-color:var(--cup-ffe0e9,#ffe0e9); background:var(--cup-fff0f5,#fff0f5); }
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal :is(button,a):focus-visible { outline:3px solid var(--cup-ffe0e9,#ffe0e9); outline-offset:3px; }
@media(hover:hover) and (pointer:fine) {
  body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell #snapshotButton:hover:not(:disabled),
  body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal :is(.snapshot-actions button,.close-modal):hover:not(:disabled) { color:#fff; border-color:var(--cup-ffe0e9,#ffe0e9); background:var(--cup-c12c4a,#c12c4a); }
  body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal #copySnapshotButton:hover:not(:disabled) { color:var(--cup-790b21,#790b21); background:#fff; }
}
body:is(.fa-cup-match-mode-active,.carabao-cup-match-mode-active) #appShell #snapshotButton:active:not(:disabled),
body:is(.fa-cup-mode-active,.carabao-cup-mode-active) #snapshotModal :is(.snapshot-actions button,.close-modal):active:not(:disabled) { transform:scale(.97); }
.fa-match-rounds { grid-area:table; width:100%; align-self:start; overflow:hidden; }
.fa-match-rounds .panel-heading h2 { margin:0; font:800 13px Manrope,Arial,sans-serif; color:#fff; }
.fa-live-round { display:flex; align-items:center; justify-content:space-between; padding:12px; gap:10px; border-bottom:1px solid #ffffff26; font-size:10px; }
.fa-live-round>span { display:grid; gap:4px; }.fa-live-round small { color:var(--cup-f4cbd5,#f4cbd5); font-size:9px; }.fa-live-round b { color:var(--cup-f4cbd5,#f4cbd5); font-size:10px; white-space:nowrap; }
.fa-live-round.is-current { background:var(--cup-bd2e4b66,#bd2e4b66); box-shadow:inset 3px 0 var(--cup-ffbdce,#ffbdce); }
.fa-match-fixtures { grid-area:board; min-width:0; }.fa-match-fixtures .section-heading { gap:12px; }.fa-match-fixtures h3 { font-size:16px; }
.fa-match-fixtures .text-button,.fa-match-rounds .text-button { color:var(--cup-ffd5e1,#ffd5e1); font-size:11px; }
.fa-live-fixtures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.fa-live-fixture { display:grid; grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr); align-items:center; gap:8px; padding:12px; border:1px solid #ffffff30; border-radius:8px; font-size:11px; }
.fa-live-fixture>span { display:flex; align-items:center; gap:8px; }.fa-live-fixture>span:last-child { flex-direction:row-reverse; text-align:right; }.fa-live-fixture>b { text-align:center; }.fa-live-fixture .fa-club-badge { width:24px; height:28px; }
@media(max-width:850px) { .fa-match-rounds { grid-area:table; }.fa-live-fixtures { grid-template-columns:1fr; }.fa-match-fixtures .section-heading { flex-wrap:wrap; } }
html body #retroAchievementsModal[data-achievement-theme$="cup-2026-27"] .achievement-country { min-height:74px; }
html body #retroAchievementsModal[data-achievement-theme$="cup-2026-27"] .achievement-country strong { white-space:normal; overflow:visible; line-height:1.35; }
@media(max-width:640px){html body #retroAchievementsModal[data-achievement-theme$="cup-2026-27"] .achievement-country{grid-column:1 / -1}}
