:root{color-scheme:dark;font-family:Inter,"Arial",system-ui,sans-serif;color:#f5f7ef;background:#101916}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,summary{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,summary:focus-visible{outline:3px solid #d6ff53;outline-offset:5px}[hidden]{display:none!important}#game-shell{height:100dvh;width:100vw;position:relative;isolation:isolate}#pitch{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none;background:#173f2d}.menu{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,rgba(9,20,17,.97) 0%,rgba(9,20,17,.88) 42%,rgba(9,20,17,.3) 100%);overflow:auto;padding:clamp(24px,5vw,80px)}.menu-copy{max-width:660px;position:relative;z-index:2}.brand{font-size:27px;font-weight:900;letter-spacing:-1px;color:#d6ff53;margin-bottom:clamp(24px,5vh,60px)}.brand>span:first-child{color:#fff}.edition{display:block;font-size:10px;letter-spacing:3px;color:#81978d;font-weight:500;margin-top:8px}.eyebrow{color:#d6ff53;text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:700}h1{font-size:clamp(40px,6.6vw,88px);letter-spacing:-3px;line-height:1.05;margin:20px 0}h1 span{color:#d6ff53}#menu-description{color:#b9c8bd;max-width:470px;font-size:15px;line-height:1.8;margin:24px 0}.menu-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.primary,.secondary{border:0;border-radius:3px;padding:17px 32px;min-width:190px;font-weight:800;font-size:17px}.primary{background:#d6ff53;color:#142015;box-shadow:4px 4px 0 #55703a}.secondary{background:#20362b;color:#eaf3e6;border:1px solid #526559}.menu-decoration{position:absolute;right:5vw;top:22%;transform:rotate(-12deg);pointer-events:none;opacity:.18}.menu-decoration>span{font-size:clamp(220px,34vw,500px);font-weight:950;font-style:italic;color:#deffba;letter-spacing:-40px}.football-ring{position:absolute;inset:0;border:2px solid #c9efbd;border-radius:50%;transform:scale(1.1)}#loading{max-width:450px;color:#b9c8bd;font-size:13px}progress{width:100%;height:5px;accent-color:#d6ff53}#error{color:#ffb6a7;max-width:550px;font-size:14px;line-height:1.5}details{margin-top:28px;max-width:510px;color:#b4c4b9;font-size:13px}summary{cursor:pointer;padding:12px 0;border-top:1px solid #365042}summary span{float:right;color:#708d7b;font-size:11px;letter-spacing:2px}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}kbd{background:#263d30;color:#edf7dc;border:1px solid #4d6655;border-radius:3px;padding:3px 7px;display:inline-block;min-width:30px;text-align:center}details p{line-height:1.8}footer{margin-top:25px;font-size:11px;letter-spacing:1px;color:#728c7d}#scoreboard{position:absolute;left:clamp(14px,3vw,44px);top:clamp(14px,3vh,32px);z-index:3;min-width:270px;box-shadow:0 8px 24px #0003;border-left:4px solid #d6ff53}.score-row{display:flex;align-items:center;background:#102119f2;gap:20px;padding:13px 18px}.team{font-size:14px;font-weight:800}.yellow{color:#ffdf60}.blue{color:#89b9ff}.team small{font-size:10px;opacity:.65}#score{font-size:25px;letter-spacing:3px;font-variant-numeric:tabular-nums}.clock-row{background:#d6ff53;color:#172416;padding:7px 18px;display:flex;justify-content:space-between;font-weight:800;font-size:13px}#match-clock{font-variant-numeric:tabular-nums;font-size:17px;letter-spacing:2px}.pause-button{position:absolute;right:24px;top:24px;background:#102119dd;color:#ecf4de;border:1px solid #526559;border-radius:3px;padding:11px 15px;z-index:3}.pause-button span{font-size:12px;margin-left:6px}#result-score{font-size:52px;font-weight:800;letter-spacing:8px;font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body.in-match .menu-decoration{display:none}body.in-match .menu-copy{padding-top:75px}@media(max-height:700px){.brand{margin-bottom:20px}h1{font-size:48px}.menu{align-items:flex-start}.menu-actions{margin:16px 0}footer{margin-top:16px}}@media(max-width:650px){.menu-decoration{display:none}.menu{background:#0a1814ed}h1{letter-spacing:-2px}.pause-button span{display:none}.score-row{gap:12px;padding:10px}#scoreboard{min-width:230px}.primary,.secondary{min-width:155px;padding:14px 20px}}
#lineup-summary{font-size:12px;color:#b4c4b9}#lineup-dialog{width:min(720px,96vw);max-height:94dvh;overflow:auto;background:#10251c;color:#eef6e7;border:1px solid #698255;border-radius:12px;padding:24px}#lineup-dialog::backdrop{background:#000b}#lineup-dialog h2{margin:0 0 16px}#lineup-dialog select,#lineup-dialog button{font:inherit;color:#eff4e6;background:#233d2d;border:1px solid #627755;border-radius:5px;padding:9px}#lineup-info{font-size:13px;min-height:36px}#lineup-pitch{position:relative;height:min(58vh,490px);min-height:340px;background:repeating-linear-gradient(#254e33 0 10%,#28563a 10% 20%);border:2px solid #a6bda4;border-radius:4px}#lineup-pitch:before{content:'';position:absolute;top:50%;width:100%;border-top:1px solid #a6bda4}#lineup-pitch:after{content:'';position:absolute;top:50%;left:50%;width:90px;height:90px;transform:translate(-50%,-50%);border:1px solid #a6bda4;border-radius:50%;pointer-events:none}.lineup-player{position:absolute;transform:translate(-50%,-50%);white-space:pre-line;font-size:11px!important;width:110px;max-width:25%;overflow:hidden;text-overflow:ellipsis;z-index:1}.lineup-player[aria-pressed=true]{outline:3px solid #d6ff53;background:#405526!important}.lineup-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}#lineup-save{background:#d6ff53!important;color:#142217!important}
#radar{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:clamp(150px,20vw,240px);height:auto;z-index:2;pointer-events:none;border:1px solid #c3d5c340;border-radius:5px}@media(max-height:500px){#radar{width:150px}}
.clock-row{gap:14px;align-items:center}#match-clock{flex-shrink:0}#period{max-width:300px;line-height:1.45}
#added-time{white-space:nowrap;background:#142416;color:#d6ff53;padding:3px 6px;border-radius:3px;font-size:12px}
#lineup-dialog{width:min(1450px,98vw);max-width:98vw;padding:22px}.lineup-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.lineup-heading p{font-size:13px;color:#a6b8ab;margin-top:0}.lineup-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.82fr) minmax(0,1fr);gap:20px}.team-panel h3{font-size:17px;margin:8px 0 14px;color:#e6ef9b}.team-panel small{display:block;font-size:11px;color:#99ad9f;margin-top:5px}.away-panel h3{color:#87b9ff}.team-panel>label,.away-caption{display:block;height:42px;margin:0 0 10px;font-size:13px}.tactics-pitch,#lineup-pitch{position:relative;height:min(60vh,620px);min-height:460px;background:repeating-linear-gradient(#254e33 0 10%,#28563a 10% 20%);border:1px solid #a6bda4;border-radius:5px}.tactics-pitch:before{content:'';position:absolute;top:50%;width:100%;border-top:1px solid #a6bda4}.tactics-pitch:after{content:'';position:absolute;top:50%;left:50%;width:80px;height:80px;transform:translate(-50%,-50%);border:1px solid #a6bda4;border-radius:50%;pointer-events:none}#lineup-dialog .lineup-player{width:100px;max-width:30%;padding:5px 3px;font-size:10px!important;line-height:1.45;background:#162c1eed;border-color:#748749;overflow:hidden;text-overflow:ellipsis}.away-panel .lineup-player{border-color:#558ac4!important;background:#172b40ed!important}#player-details{padding:18px 10px;background:#0c1c15;border-radius:8px;align-self:start;min-width:0}#detail-name{margin:0 0 12px;font-size:22px;overflow-wrap:anywhere}#detail-meta,#detail-positions{font-size:12px;color:#b7c8bb;line-height:1.7}#detail-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}#detail-scores>div{background:#1c3024;padding:10px;text-align:center;border-radius:4px}#detail-scores span{display:block;font-size:12px;color:#b7c8bb}#detail-scores strong{display:block;font-size:24px;margin-top:3px}#ability-radar{width:100%;max-height:310px}.rating-note,#player-details details{font-size:11px;line-height:1.6;color:#8ea697}#player-details details{margin-top:8px}.lineup-actions{flex-wrap:wrap}#lineup-info{margin-bottom:8px}@media(max-width:1000px){.lineup-columns{gap:10px;grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr)}#lineup-dialog{padding:12px}#lineup-dialog .lineup-player{font-size:9px!important}}@media(max-width:760px){.lineup-columns{grid-template-columns:1fr}#player-details{grid-row:2}.tactics-pitch,#lineup-pitch{height:530px}.lineup-heading h2{font-size:22px}}
/* Keep the action row visible on laptop displays. */
#ability-radar{max-height:250px}#player-details{padding-top:14px;padding-bottom:12px}#detail-scores{margin:12px 0}
#team-selection{width:min(750px,94vw);background:#10251c;color:#eef6e7;border:1px solid #698255;padding:28px;border-radius:12px}#team-selection::backdrop{background:#000b}#team-selection label{display:block;margin:24px 0}#team-selection select{display:block;width:100%;margin-top:8px;padding:12px;background:#233d2d;color:white}#team-selection button{padding:12px 20px;margin-right:12px;cursor:pointer}#selection-error{color:#ffb6a7}.score-row .team{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#lineup-replacement{max-width:100%;width:100%;font-size:12px!important}#player-details>label{font-size:12px}
button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d6ff53!important;outline-offset:3px;box-shadow:0 0 0 6px #10251c}.keyboard-hint{font-size:12px;color:#c2d3c6;line-height:1.7}#detail-scores span{font-size:11px}#ability-radar{overflow:visible}
#team-selection{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;overflow:auto;padding:32px}#selection-title{margin:0;font-size:34px}#selection-stage{color:#d6ff53;margin:12px 0 24px}.selection-sides{display:grid;grid-template-columns:1fr 1fr;gap:28px}.selection-side h3{letter-spacing:2px;font-size:14px;color:#ffdf60}.selection-side.away h3{color:#89b9ff}.selection-card{border:2px solid #344f40;background:#14291e;border-radius:8px;padding:18px 10px;margin-bottom:18px;opacity:.6;transition:background .12s,border-color .12s}.selection-card.active{border-color:#d6ff53;background:#233b27;opacity:1;box-shadow:0 0 0 3px #d6ff531c}.selection-card.confirmed{opacity:1}.selection-label{display:block;color:#a5bba9;font-size:11px;letter-spacing:2px;margin:0 10px 12px}.carousel-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:8px;align-items:center;min-height:65px}.carousel-row strong{text-align:center;font-size:24px;overflow-wrap:anywhere}#team-selection .carousel-row button{padding:8px 0;margin:0;background:transparent;border:0;color:#d6ff53;font-size:34px}#team-selection .carousel-row button:disabled{cursor:default;opacity:.12}.selection-card p{text-align:center;color:#a5bba9;font-size:13px;margin:8px 0 0}.selection-actions{display:flex;justify-content:space-between}#selection-confirm{background:#d6ff53;color:#142217;border:0;border-radius:4px;font-weight:bold}#selection-cancel{background:#233d2d;color:white;border:1px solid #627755;border-radius:4px}@media(max-width:650px){#team-selection{padding:16px}.selection-sides{gap:10px}.carousel-row{grid-template-columns:22px minmax(0,1fr) 22px;gap:3px}.carousel-row strong{font-size:16px}.selection-card{padding:12px 4px}.selection-label{font-size:10px}}

#lineup-bench{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:190px;overflow-y:auto;padding:8px}#lineup-dialog .bench-player{position:static;transform:none;width:100%;max-width:100%;min-height:58px}.lineup-player.chosen{outline:3px solid #ffdf60!important;background:#514b20!important}#lineup-dialog .lineup-player:disabled{opacity:1;cursor:default}#lineup-dialog .lineup-player:focus{outline:3px solid #72afff!important;outline-offset:2px}#detail-scores strong{font-size:20px}#player-details{position:sticky;top:0}

#lineup-center{align-self:start;position:sticky;top:0;min-width:0}#lineup-navigation{padding:24px 16px;background:#0c1c15;border-radius:8px;min-height:270px}#lineup-navigation h3{margin:0 0 26px}#lineup-navigation button{display:block;width:100%;text-align:left;margin:14px 0;padding:18px!important}#lineup-navigation button:focus{background:#405526;border-color:#d6ff53}#lineup-dialog [data-own-slot]:disabled{opacity:1;cursor:default}#lineup-center #player-details{position:static}@media(max-width:760px){#lineup-center{grid-row:2;position:static}}

#position-ratings table{width:100%;border-collapse:collapse;font-size:12px;margin:12px 0}#position-ratings caption{text-align:left;color:#b7c8bb;margin-bottom:6px}#position-ratings th,#position-ratings td{padding:6px;border-bottom:1px solid #365042;text-align:center;overflow-wrap:anywhere}#position-ratings th:first-child{text-align:left}#position-ratings td{font-variant-numeric:tabular-nums}

.country-identity{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}.country-flag{display:block;width:80px;height:60px;object-fit:contain;border:1px solid #ffffff40;border-radius:3px;box-shadow:0 2px 8px #0003}@media(max-width:650px){.country-flag{width:56px;height:42px}.country-identity{gap:8px}}

.menu-actions>#play,.menu-actions>#controls-open{width:240px;min-height:58px}
#ai-action-toast{position:absolute;left:50%;top:clamp(78px,13vh,138px);transform:translateX(-50%);z-index:5;min-width:280px;max-width:min(520px,80vw);padding:12px 18px;background:#102119ee;border:1px solid #d6ff53;border-left:5px solid #d6ff53;box-shadow:0 8px 24px #0006;text-align:center;pointer-events:none;font-size:15px;font-weight:800;letter-spacing:.2px}
#ai-action-toast small{display:block;margin-top:4px;color:#b9c8bd;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase}
#ai-action-toast.yellow-card{border-color:#ffd84d;color:#ffe982}
#ai-action-toast.red-card{border-color:#ff534d;color:#ffaaa6}
body.lineup-active #ai-action-toast{display:none!important}
#controls-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;box-sizing:border-box;margin:0;border:0;border-radius:0;padding:clamp(22px,4vh,48px) clamp(20px,5vw,80px);background:#0b1c13;color:#eef6e7;overflow:auto}
#controls-dialog::backdrop{background:#000c}
#controls-dialog .controls-content{width:min(100%,1040px);margin:0 auto}
#controls-dialog h2{margin:0 0 24px;font-size:clamp(28px,2.8vw,38px)}
#controls-dialog p{font-size:15px;line-height:1.8;color:#b4c4b9;margin:24px 0}
.controls-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:clamp(17px,1.5vw,20px);line-height:1.5}
.controls-table th,.controls-table td{padding:14px 18px;text-align:left;border:1px solid #365042;overflow-wrap:anywhere}
.controls-table thead th{background:#20362b;color:#d6ff53;font-weight:700}
.controls-table th:first-child{width:24%}
.controls-table tbody th{background:#10251c;font-weight:400}
.controls-table tbody td{background:#13291d}
.controls-table kbd{font-size:inherit;white-space:nowrap;letter-spacing:0}
@media(max-width:520px){.controls-table{font-size:15px}.controls-table th,.controls-table td{padding:10px 8px}.controls-table th:first-child{width:30%}.controls-table kbd{padding:3px 4px}#controls-dialog p{font-size:14px}.menu-actions>#play,.menu-actions>#controls-open{width:100%}}

.menu-actions{flex-direction:column;align-items:flex-start;gap:12px}
.menu-actions>:is(button,a){width:240px!important;min-height:58px;padding:17px 24px;border:1px solid #526559;border-radius:3px;background:#20362b;color:#eaf3e6;box-shadow:none;font-size:17px;font-weight:800;text-align:left;text-decoration:none}
.menu-actions>:is(button,a):focus{background:#d6ff53;color:#142015;border-color:#d6ff53}
@media(max-width:520px){.menu-actions>:is(button,a){width:100%!important}}

.energy-track{display:block;height:5px;background:#17251d;border-radius:3px;overflow:hidden;margin-top:5px;width:100%}.energy-track>span{display:block;height:100%;background:#7dd98c}
.change-badge{display:block;font-size:9px;line-height:1.4;margin-top:3px;color:#ffde77}.lineup-player.pending-change{border-color:#ffc44a!important}.lineup-player.subbed-off{background:#363b38!important;color:#919b94!important;border-color:#646a65!important}.subbed-off .change-badge{color:#b4bdb7}
#substitution-toast{position:absolute;top:24px;left:50%;transform:translateX(-50%);z-index:5;min-width:300px;max-width:42vw;background:#102119f5;border-top:4px solid #d6ff53;padding:14px 22px;box-shadow:0 8px 24px #0006}#substitution-toast strong{display:block;font-size:12px;margin-bottom:10px;color:#d6ff53}#substitution-toast div{font-size:17px;line-height:1.8}#substitution-toast .out{color:#ff8c81}#substitution-toast .in{color:#91ecac}
.player-hud{position:absolute;bottom:24px;z-index:4;width:250px;max-width:30vw;background:#102119ed;border-bottom:3px solid #d6ff53;padding:12px 16px}.player-hud.left{left:24px}.player-hud.right{right:24px}.player-hud small{display:block;font-size:11px;color:#a7bbaa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-hud strong{display:block;margin-top:5px;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-hud .energy-track{height:6px;margin-top:9px}
@media(max-width:650px){.player-hud{bottom:12px;padding:8px;max-width:31vw}.player-hud.left{left:8px}.player-hud.right{right:8px}.player-hud strong{font-size:12px}#substitution-toast{top:100px;max-width:90vw;min-width:270px}}

/* The landing screen has one title and the two primary menu choices. */
.home-menu .brand,.home-menu .eyebrow,.home-menu #menu-description,.home-menu footer,.home-menu #lineup-summary{display:none}
.home-menu .menu-copy{max-width:800px}
#about-open{display:none}
.home-menu #about-open{display:block}
#about-open:focus-visible{outline:3px solid #d6ff53;outline-offset:5px}
.home-menu h1{margin-bottom:42px}

.player-hud .charge-meter{margin-top:8px}.charge-meter label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#e5edc7;margin-bottom:4px}.charge-track{height:8px;background:#0b1610;border:1px solid #71865e;border-radius:2px;overflow:hidden}.charge-track>span{display:block;height:100%;width:0;background:#d6ff53;transition:width 40ms linear}

body.lineup-active #menu,body.lineup-active #scoreboard,body.lineup-active #pause-game,body.lineup-active #radar,body.lineup-active .player-hud,body.lineup-active #substitution-toast{display:none!important}

#match-statistics{margin:20px auto;width:100%;background:#102119ed;padding:16px 20px;border-top:2px solid #d6ff53}
.statistics-panel table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:center;font-variant-numeric:tabular-nums}
.statistics-panel thead th{font-size:clamp(16px,1.8vw,22px);color:#d6ff53;overflow-wrap:anywhere;padding:16px 8px;font-weight:700}
.statistics-panel [data-stats-score]{font-size:clamp(24px,2.6vw,32px);color:#eef6e7;white-space:nowrap}
.statistics-panel td{padding:12px 8px;border-top:1px solid #314739;font-size:18px;font-weight:700}
.statistics-panel td:nth-child(2){font-size:16px;color:#b9c8bd;font-weight:400}
#statistics-dialog{width:min(760px,94vw);max-height:90dvh;overflow:auto;background:#10251c;color:#eef6e7;border:1px solid #698255;border-radius:12px;padding:20px;text-align:center}#statistics-dialog::backdrop{background:#000b}#statistics-close{margin-top:20px}

.results-menu{align-items:center;justify-content:center;padding:clamp(24px,4vh,48px) clamp(16px,4vw,60px)}.results-menu .brand,.results-menu .eyebrow,.results-menu footer,.results-menu .menu-decoration{display:none}body.in-match .results-menu .menu-copy{padding-top:0;width:min(760px,100%);max-width:760px;margin:auto}.results-menu h1{font-size:36px;margin:0 0 10px;text-align:center}.results-menu #menu-description{margin:8px 0;text-align:center;max-width:none}.results-menu .menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;margin:16px 0}.results-menu .menu-actions>button{width:100%!important;min-width:0}
#lineup-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(18px,3vh,34px) clamp(18px,3vw,52px);border:0;border-radius:0;overflow:auto;overscroll-behavior:contain;background:transparent;color:#eef6e7}#lineup-dialog::backdrop{background:#07130db3}.lineup-columns{min-height:calc(100dvh - 175px)}#lineup-dialog .tactics-pitch,#lineup-dialog #lineup-pitch{height:min(64dvh,640px);min-height:420px}

/* Cup navigation uses opaque, full-viewport pages. */
.cup-screen {position:fixed;inset:0;z-index:10;overflow:auto;overscroll-behavior:contain;background:#0b1c13;color:#eef6e7;}
.cup-page {max-width:1600px;margin:0 auto;padding:clamp(22px,4vh,48px) clamp(20px,5vw,80px);min-height:100dvh;box-sizing:border-box;}
.cup-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px;}
.cup-heading h1 {font-size:clamp(28px,4vw,48px);margin:0;}
.cup-card {background:#14281c;border:1px solid #365441;border-radius:6px;padding:24px;}
.cup-card h2 {margin:0 0 22px;font-size:24px;}
.cup-card button {margin:8px 8px 0 0;}
.cup-eyebrow {font-size:12px;letter-spacing:2px;color:#b4ce9d;}
.cup-groups {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.cup-group h2 {color:#b4ce9d;font-size:19px;letter-spacing:1px;}
.cup-group-teams {padding:0;list-style:none;margin:0;}
.cup-group-teams li {display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #294432;font-size:17px;overflow-wrap:anywhere;}
.cup-team-flag {width:26px;height:18px;object-fit:contain;flex-shrink:0;}
.cup-group-teams li span {min-width:0;}
.cup-mine {color:#d6ff53;font-weight:700;}
.cup-qualified {color:#a2d6b2;}
.cup-match-heading {margin-bottom:36px;}
.cup-match-heading h2 {font-size:clamp(28px,4vw,44px);margin:10px 0;}
.cup-match-layout {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:stretch;}
.cup-standings {overflow-x:auto;}
.cup-standings table {width:100%;border-collapse:collapse;font-size:14px;}
.cup-standings th,.cup-standings td {padding:18px 6px;text-align:right;border-bottom:1px solid #294432;}
.cup-standings th:nth-child(2),.cup-standings td:nth-child(2) {text-align:left;min-width:120px;}
.cup-next-match {display:flex;flex-direction:column;justify-content:center;min-height:280px;}
.cup-next-match h2 {font-size:30px;overflow-wrap:anywhere;}
.cup-match-actions {display:flex;flex-direction:column;gap:12px;margin-top:24px;}
.cup-match-actions button {width:100%;margin:0;text-align:left;min-height:58px;}
#cup-hint {margin-top:30px;}
body.cup-active #menu,body.cup-active #scoreboard,body.cup-active #pause-game,body.cup-active #radar,body.cup-active .player-hud,body.cup-active #substitution-toast {display:none!important;}
#team-selection.cup-fullscreen,#penalty-order-dialog.cup-fullscreen {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;box-sizing:border-box;margin:0;border:0;border-radius:0;padding:clamp(22px,4vh,48px) clamp(20px,5vw,80px);background:#0b1c13;color:#eef6e7;overflow:auto;}
#team-selection.cup-fullscreen .selection-sides {grid-template-columns:minmax(0,700px);justify-content:center;margin:5vh 0 3vh;}
#team-selection.cup-fullscreen .selection-actions,#team-selection.cup-fullscreen .keyboard-hint {max-width:700px;margin-left:auto;margin-right:auto;}
body.cup-flow #lineup-dialog {background:#0b1c13;}
body.cup-flow .menu {background:#0b1c13;}
.cup-ready .menu-decoration,.cup-ready .brand,.cup-ready .eyebrow,.cup-ready footer {display:none;}
.cup-ready .menu-actions {display:flex;flex-direction:column;align-items:stretch;}
#lineup-dialog.own-team-only .lineup-columns {grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);max-width:1100px;margin:auto;}
@media(max-width:760px){#lineup-dialog.own-team-only .lineup-columns {grid-template-columns:1fr;}}
@media(max-width:1000px){.cup-groups {grid-template-columns:repeat(2,minmax(0,1fr));}.cup-match-layout {grid-template-columns:1fr;}.cup-next-match {min-height:220px;}}
@media(max-width:520px){.cup-groups {grid-template-columns:1fr;}.cup-card {padding:18px;}.cup-group-teams li {font-size:16px;}.cup-standings th,.cup-standings td {padding:12px 5px;}}
#penalty-order-dialog {width:min(600px,92vw);max-height:90vh;overflow:auto;}
#penalty-order-list li {padding:6px;}
#penalty-order-list span {display:inline-block;width:70%;}
#penalty-order-list button {padding:5px 10px;margin-left:4px;}

.ai-policy-settings{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0;font-size:13px}.ai-policy-settings select{margin-left:6px;padding:6px;background:#14211b;color:inherit;border:1px solid #6c8676;border-radius:4px}

/* Menu emphasis follows the keyboard focus, never a primary or hover state. */
:is(.menu-actions,.selection-actions,.cup-screen,#lineup-navigation,#penalty-order-dialog,#controls-dialog,#statistics-dialog,#cup-exit-dialog,.quick-match-roles) button:not(:focus){background:#20362b!important;color:#eaf3e6!important;border-color:#526559!important;box-shadow:none;outline:none!important}
:is(.menu-actions,.selection-actions,.cup-screen,#lineup-navigation,#penalty-order-dialog,#controls-dialog,#statistics-dialog,#cup-exit-dialog,.quick-match-roles) button:focus{background:#d6ff53!important;color:#142015!important;border-color:#d6ff53!important}

.team-core-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;margin:16px 8px 0;text-align:center}
.team-core-ratings>span>span{display:block;font-size:12px;color:#a5bba9}
.team-core-ratings strong{display:block;margin-top:4px;font-size:22px;color:#eef6e7}
#cup-exit-dialog{width:min(460px,90vw);box-sizing:border-box;background:#10251c;color:#eef6e7;border:1px solid #698255;border-radius:8px;padding:28px}
#cup-exit-dialog::backdrop{background:#000b}
#cup-exit-dialog h2{margin-top:0;font-size:24px}
#cup-exit-dialog p{line-height:1.6}
.cup-exit-actions{display:flex;gap:12px;margin-top:24px}
.cup-exit-actions button{flex:1;padding:12px;border:1px solid #526559;border-radius:4px;font:inherit}
@media(max-width:650px){.team-core-ratings{gap:10px 3px;margin:14px 0 0}.team-core-ratings>span>span{font-size:10px}.team-core-ratings strong{font-size:18px}}

.quick-match-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:900px;margin:24px auto}
#team-selection .quick-match-roles button{margin:0;padding:18px 10px;font:inherit;font-weight:700;border:1px solid #526559;border-radius:4px}
#team-selection.cup-fullscreen .selection-sides{grid-template-columns:repeat(2,minmax(0,1fr))}
#team-selection.cup-fullscreen:has(.selection-side.away[hidden]) .selection-sides{grid-template-columns:minmax(0,700px)}
@media(max-width:650px){#team-selection.cup-fullscreen .selection-sides{grid-template-columns:1fr}.quick-match-roles{gap:8px}#team-selection .quick-match-roles button{font-size:13px;padding:16px 6px}}
#penalty-scoreboard{position:absolute;right:clamp(14px,3vw,44px);top:clamp(14px,3vh,32px);z-index:3;padding:12px 16px;background:#102119f2;border-right:3px solid #d6ff53;box-shadow:0 8px 24px #0003;pointer-events:none;max-width:calc(100vw - 28px)}
.penalty-heading{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#b9c8bd;margin-bottom:10px}
.penalty-team-row{display:flex;align-items:center;gap:16px;min-height:22px}.penalty-team-row+.penalty-team-row{margin-top:8px}
.penalty-team-name{width:130px;font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.penalty-kicks{display:flex;gap:7px}.penalty-dot{display:block;flex:0 0 16px;width:16px;height:16px;border:2px solid #789084;border-radius:50%;background:transparent}.penalty-dot.scored{border-color:#5ae28c;background:#39d575}.penalty-dot.missed{border-color:#ff8a87;background:#f35c5c}
.penalty-mode .pause-button{top:calc(clamp(14px,3vh,32px) + 116px)}
body.lineup-active #penalty-scoreboard,body.cup-active #penalty-scoreboard{display:none!important}
@media(max-width:850px){.penalty-mode #scoreboard{right:14px;min-width:0}.penalty-mode #scoreboard .score-row{justify-content:space-between;gap:8px}.penalty-mode #scoreboard .team{max-width:29%;font-size:12px}.penalty-mode #scoreboard #score{white-space:nowrap;font-size:22px}.penalty-mode #scoreboard .clock-row{font-size:11px}.penalty-mode #scoreboard #period{max-width:65%}#penalty-scoreboard{top:calc(clamp(14px,3vh,32px) + 174px);padding:10px 12px}.penalty-team-name{width:100px}.penalty-kicks{gap:5px}.penalty-dot{flex-basis:14px;width:14px;height:14px}.penalty-team-row{gap:10px}.penalty-mode .pause-button{top:calc(clamp(14px,3vh,32px) + 122px)}}
