:root{color-scheme:dark;--bg:#111a15;--panel:#19251e;--ink:#f3f5ed;--muted:#a5b5a8;--line:#34453a;--yellow:#efce44;--red:#f06a54;font-family:Arial,Helvetica,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}
.slide-help{font-size:14px;line-height:1.5;color:var(--muted);margin:15px 0}
*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.36}button:focus-visible,canvas:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}button{transition:background .15s,color .15s,border-color .15s}button:hover:not(:disabled){filter:brightness(1.12)}.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1800px;margin:auto;padding:23px 32px 21px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center}.brand-mark{font-family:monospace;font-size:36px;letter-spacing:-5px;line-height:1;font-weight:900;background:var(--yellow);color:var(--bg);padding:9px 11px 9px 7px;transform:skew(-6deg)}h1{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:29px;letter-spacing:1px;line-height:1;margin:0 0 7px}.brand-sub{font-family:monospace;font-size:12px;color:var(--muted);letter-spacing:2.4px}.scoreboard{display:flex;gap:0;align-items:center;padding:0 25px}.scoreboard>div{display:flex;align-items:center;gap:16px;padding:0 27px;border-right:1px solid var(--line)}.scoreboard>div:last-child{border:0}.scoreboard span{font-family:monospace;font-size:12px;letter-spacing:1px;color:var(--muted)}.scoreboard strong{font-family:ui-monospace,Consolas,monospace;font-size:33px;font-weight:500;color:var(--yellow);font-variant-numeric:tabular-nums}.quiet-button{background:transparent;border:1px solid var(--line);border-radius:3px;padding:11px 14px;font-size:14px;min-width:92px}.quiet-button[aria-pressed=true]{border-color:var(--yellow);color:var(--yellow)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:28px;padding:26px 32px 0;max-width:1800px;margin:auto}.play-section{min-width:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;background:#152a1d}.pitch-topbar{height:40px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 19px;font-family:monospace;letter-spacing:1.7px;font-size:12px;background:#19261e}.pitch-topbar>div{display:flex;align-items:center;gap:10px}.live-square{width:6px;height:6px;background:var(--yellow);display:block}.stage{height:calc(100dvh - 248px);min-height:430px;max-height:980px;position:relative;overflow:hidden;background:#247344}.stage canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.pitch-badge{position:absolute;top:17px;left:18px;pointer-events:none;display:flex;flex-direction:column;gap:6px;font-family:monospace;font-size:12px;letter-spacing:1px;color:#f3f5ed}.pitch-badge span{font-size:12px;color:#ecedde9e}.overlay{position:absolute;inset:0;background:#0c1c145c;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(1px)}.overlay[hidden]{display:none}.start-panel{width:320px;padding:30px;text-align:left;background:#13231df2;border:1px solid #52634c;box-shadow:7px 7px 0 #07150e73}.eyebrow{font-family:monospace;font-size:12px;letter-spacing:1.5px;color:var(--yellow)}.start-panel h2{font-size:31px;letter-spacing:-1px;line-height:1.1;margin:17px 0 12px}.start-panel p{font-size:16px;color:#b9c7bb;line-height:1.5;margin:0 0 24px}.primary-button{width:100%;border:0;border-bottom:3px solid #b59a2e;border-radius:2px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:16px;background:var(--yellow);color:#1e2414}.primary-button span{font-size:22px}.start-caption{display:block;margin-top:14px;font-family:monospace;font-size:12px;text-align:center;color:var(--muted)}.pitch-toolbar{display:flex;align-items:center;gap:5px;min-height:52px;padding:8px 10px;background:#18261d}.pitch-toolbar button{display:flex;align-items:center;gap:8px;border:0;background:transparent;font-size:14px;padding:7px 9px;border-radius:2px;white-space:nowrap}.pitch-toolbar button:hover:not(:disabled){background:#2a3b2e}.key,kbd{font-family:monospace;display:inline-flex;align-items:center;justify-content:center;min-width:23px;min-height:22px;background:#28392d;border:1px solid #4b5b4d;border-bottom:2px solid #435047;border-radius:3px;font-size:12px;color:#d0dacc;padding:2px 5px}.input-label{margin-left:auto;padding-right:8px;font-family:monospace;font-size:12px;color:var(--muted);letter-spacing:1px}.power-display{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);width:190px;opacity:0;pointer-events:none;transition:opacity .1s}.power-display.visible{opacity:1}.power-label{display:flex;justify-content:space-between;color:#fbf4d7;font-family:monospace;font-size:12px;letter-spacing:1px;margin-bottom:7px;text-shadow:0 1px #000}.power-track{height:8px;border:1px solid #edecc67a;background:#183323}.power-track i{display:block;height:100%;width:0;background:var(--yellow)}.replay-label{position:absolute;top:20px;right:20px;background:var(--yellow);color:#172018;font:700 16px monospace;padding:9px 12px}.replay-label span{font-size:12px;display:block;padding-top:5px;font-weight:400}
.practice-panel{display:flex;flex-direction:column;padding:5px 0 0;min-width:0}.practice-panel h2{font-size:26px;line-height:1.15;letter-spacing:-.6px;margin:12px 0 24px}.drill-list{display:flex;flex-direction:column;gap:8px}.drill{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:16px 13px;border:1px solid var(--line);border-radius:3px;background:transparent;min-height:77px}.drill-number{font:14px monospace;color:#7f9685}.drill strong{font-size:16px;font-weight:500;display:block;margin-bottom:6px}.drill small{font-size:12px;color:var(--muted);line-height:1.4}.drill-chevron{margin-left:auto;opacity:0;color:var(--yellow);font-size:23px}.drill.active{border-color:#b6a548;background:#313a20}.drill.active .drill-number,.drill.active strong{color:#f2df87}.drill.active .drill-chevron{opacity:1}.control-section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.controls{margin:16px 0 0}.controls>div{margin-bottom:18px}.controls dt{font-size:14px;color:var(--muted);margin-bottom:9px}.controls dd{margin:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap;line-height:1.4;font-size:14px}.controls dd>span{margin-left:4px}.controls kbd{font-size:13px;min-height:25px;min-width:25px}.control-alt{color:var(--muted);font-size:12px}.tip{display:flex;gap:13px;margin-top:20px}.tip-rule{display:block;flex:none;width:2px;background:var(--yellow)}.tip p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.session-bottom{margin-top:auto;padding-top:25px;display:flex;justify-content:space-between;align-items:center;gap:10px}.text-button{padding:5px 0;background:transparent;border:0;border-bottom:1px solid #87977b;font-size:14px}.session-bottom>span{font-family:monospace;font-size:12px;color:#8b9e8d}.footer{max-width:1800px;margin:0 auto;padding:19px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#809385;font-family:monospace;font-size:12px;letter-spacing:1px}.footer p{margin:0;letter-spacing:0}.desktop-note{color:#718479}
@media(min-width:1550px){.workspace{grid-template-columns:minmax(0,1fr) 315px;gap:35px}.practice-panel{padding-top:10px}.drill{padding:20px 17px}.control-section{margin-top:35px;padding-top:30px}}
@media(max-width:1100px){.masthead{padding:18px 20px}.workspace{padding:20px 20px 0;grid-template-columns:minmax(0,1fr) 255px;gap:20px}.scoreboard{padding:0}.scoreboard>div{padding:0 17px;gap:10px}.brand-mark{font-size:30px}h1{font-size:24px}.brand-sub{font-size:12px;letter-spacing:1px}.scoreboard strong{font-size:27px}.stage{height:calc(100dvh - 224px)}.input-label{display:none}.drill{padding:14px 10px;gap:10px}.practice-panel h2{font-size:24px}.footer{padding:16px 20px}.desktop-note{display:none}}
@media(max-width:780px){.masthead{gap:10px;padding:15px}.brand{gap:9px}.brand-mark{font-size:27px;padding:8px}h1{font-size:21px}.brand-sub{letter-spacing:.5px;font-size:10px}.scoreboard{gap:12px}.scoreboard>div{padding:0;gap:3px;flex-direction:column;border:0}.scoreboard span{font-size:10px}.scoreboard strong{font-size:24px}.quiet-button{min-width:0;font-size:12px;padding:8px}.workspace{grid-template-columns:minmax(0,1fr);padding:14px 14px 0;gap:22px}.stage{height:65dvh;min-height:420px}.practice-panel{display:grid;grid-template-columns:1fr 1fr;gap:22px}.practice-panel h2{margin-bottom:17px}.control-section{border-top:0;padding-top:0;margin-top:0}.session-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}.footer{padding:20px 14px}.footer>span:first-child{display:none}.pitch-toolbar button{font-size:13px}.start-panel{max-width:85%}}
@media(max-width:470px){.brand-mark{display:none}.scoreboard{gap:10px}.brand-sub{font-size:9px}.stage{min-height:390px}.practice-panel{grid-template-columns:1fr}.drill-list{gap:7px}.control-section{border-top:1px solid var(--line);padding-top:20px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pitch-toolbar{gap:0;padding:5px}.pitch-toolbar button{padding:7px}.start-panel{padding:25px}.pitch-badge{font-size:10px}.pitch-badge span{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.skill-control{margin-bottom:20px}.skill-control label{display:block;font-size:14px;margin-bottom:8px}.skill-control select{width:100%;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:10px}.skill-control select:focus-visible{outline:2px solid var(--yellow)}.skill-control p{font-size:14px;color:var(--muted);line-height:1.5;margin:8px 0 0}

.game-hub{padding:16px 0;font-size:14px}.game-hub details{border-top:1px solid #bbc4a655;padding:12px 0}.game-hub summary{cursor:pointer;font-weight:700;font-size:16px}.game-hub label{display:block;margin:12px 0 6px}.game-hub select,.game-hub input:not([type=checkbox]),.game-hub button{max-width:100%;font:inherit;padding:8px;box-sizing:border-box}.game-hub select,.game-hub input:not([type=checkbox]){width:100%}.game-hub button{margin:8px 6px 0 0;cursor:pointer;border:1px solid #798869;border-radius:4px}.game-hub button:disabled{opacity:.5;cursor:default}.game-hub p{line-height:1.5}.game-hub table{font-size:13px;border-collapse:collapse;width:100%}.game-hub td,.game-hub th{text-align:left;padding:5px;border-bottom:1px solid #79886955}#hub-status{min-height:24px}
.club-fixtures-layout{display:flex;flex-direction:column;gap:20px;margin:16px 0}.club-fixtures-layout table{margin:0}@media(min-width:641px){.club-fixtures-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:24px}.club-fixtures-layout.no-standings .club-fixtures-panel{grid-column:1/-1}}
.club-fixtures-panel{border:1px solid var(--line);border-radius:4px;padding:14px;background:#15211a}.cf-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:10px}.cf-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cf-form-label{font-size:12px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.cf-form-chips{display:flex;gap:4px;margin:0;padding:0;list-style:none}.cf-standing{font-weight:700;color:var(--yellow)}.cf-filters{display:flex;gap:6px;margin-left:auto}.cf-filters button{background:transparent;border:1px solid #798869;border-radius:4px;padding:6px 10px;font-size:13px;margin:0}.cf-filters button[aria-pressed=true]{border-color:var(--yellow);color:var(--yellow)}
.cf-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto;border-top:1px solid #34453a;scroll-behavior:smooth}.cf-row{border-bottom:1px solid #34453a44}.cf-row-main{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;padding:9px 4px;font:inherit;color:inherit}div.cf-row-main{cursor:default}button.cf-row-main{cursor:pointer}button.cf-row-main:hover,button.cf-row-main:focus-visible{background:#22301f;outline:none}button.cf-row-main:focus-visible{box-shadow:inset 0 0 0 2px var(--yellow)}
.cf-round{font-family:monospace;font-size:12px;color:var(--muted);min-width:34px}.cf-marker{color:var(--yellow)}.cf-comp{font-family:monospace;font-size:11px;font-weight:700;color:#c5ed7a;min-width:24px}.cf-venue{font-size:11px;color:var(--muted);border:1px solid #4b5b4d;border-radius:3px;padding:1px 4px}.cf-opponent{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.cf-opponent span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-crest{width:18px;height:20px;flex:none}.cf-score{font-variant-numeric:tabular-nums}
.cf-chip{font-size:11px;font-weight:800;padding:2px 6px;border-radius:3px;min-width:18px;text-align:center;display:inline-block}.cf-chip-w{background:#2d5a34;color:#c9f2ce}.cf-chip-d{background:#3c4640;color:#dbe4dd}.cf-chip-l{background:#5c2a24;color:#f6d3cd}.cf-shootout-note{font-size:11px;color:var(--muted)}
.cf-next .cf-row-main{border-left:3px solid var(--yellow);padding-left:8px}.cf-next-label{font-weight:800;color:var(--yellow);font-size:12px;letter-spacing:1px}.cf-opponent-meta{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.cf-tbd{opacity:.65}.cf-opponent-tbd{font-style:italic}
.cf-detail{padding:6px 10px 12px 44px;font-size:13px;color:var(--muted)}.cf-detail p{margin:4px 0}.cf-empty{padding:10px;color:var(--muted)}
.cf-scorers{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.cf-scorer{font-size:13px;color:var(--ink)}.cf-scorer-opponent{color:var(--muted)}
@media(max-width:640px){.cf-opponent-meta{display:none}.cf-row-main{flex-wrap:wrap}.cf-filters{margin-left:0;width:100%}}.touch-controls{display:flex;gap:12px;justify-content:space-between;padding:10px;touch-action:none;background:#17251c;color:white}.touch-controls[hidden]{display:none}.touch-pad{display:grid;grid-template-columns:repeat(3,44px);gap:4px}.touch-controls button{min-width:44px;min-height:44px;border:1px solid #bcc599;background:#34452b;color:white;border-radius:6px;font-size:14px}.touch-actions{display:flex;gap:6px;flex-wrap:wrap;max-width:240px}.high-contrast .pitch-badge{background:#000;color:#fff}@media(max-width:600px){.touch-controls{gap:6px}.touch-pad{grid-template-columns:repeat(3,38px)}.touch-controls button{min-width:38px}.touch-actions{max-width:180px}}

.online-panel{border-top:1px solid #79886955;padding:16px 0;font-size:14px}.online-panel summary{font-size:16px;font-weight:bold;cursor:pointer}.online-panel button{padding:10px;margin:4px;font:inherit;cursor:pointer}

.match-broadcast{position:absolute;z-index:12;background:rgba(10,20,27,.96);color:#fff;box-shadow:0 10px 35px #0006;border:1px solid #ffffff26;pointer-events:none;font-family:inherit}
.match-broadcast[hidden]{display:none}
.score-pop{top:auto;bottom:33.333%;left:50%;transform:translate(-50%,50%);width:min(620px,calc(100% - 24px));padding:18px 24px;border-radius:3px;border-top:3px solid #f0d568;background:linear-gradient(115deg,#111f31f5,#07121ff5);box-shadow:0 12px 35px #0008}
.broadcast-heading{text-align:center;font-size:14px;font-weight:700;letter-spacing:.13em;color:#dbe4e8;margin-bottom:12px}
.broadcast-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center;font-size:clamp(18px,2.4vw,26px);font-weight:800}
.broadcast-score strong{font-size:clamp(40px,5vw,60px);line-height:1.05;white-space:nowrap;font-variant-numeric:tabular-nums}
.team-red{border-bottom:3px solid #ed6262;padding-bottom:5px}.team-blue{border-bottom:3px solid #64a6ff;padding-bottom:5px}
.match-broadcast table{width:100%;margin-top:14px;border-collapse:collapse;font-size:14px;text-align:center;font-variant-numeric:tabular-nums}
.match-broadcast th{font-weight:400;color:#cbd6db;width:60%}.match-broadcast td{font-weight:700;width:20%}.match-broadcast td,.match-broadcast th{padding:7px 0;border-top:1px solid #ffffff18}
.possession-pop{bottom:18px;left:14px;width:min(290px,calc(100% - 28px));padding:12px 14px;border-radius:6px}.possession-pop .broadcast-heading{text-align:left;font-size:14px;margin-bottom:8px}.possession-values{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}.possession-values span{border:0}.possession-bar{height:5px;background:#64a6ff;margin-top:8px;border-radius:3px;overflow:hidden}.possession-bar>div{height:100%;background:#ed6262}

.broadcast-scorers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px;padding-top:10px;border-top:1px solid #ffffff24;font-size:clamp(14px,1.6vw,18px);line-height:1.5;text-align:center;color:#e2e9f2}.broadcast-scorers>div{min-width:0;overflow-wrap:anywhere}.broadcast-score>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:480px){.score-pop{padding:14px 12px}.broadcast-score{gap:10px}.broadcast-scorers{gap:12px}}

.broadcast-continue{text-align:center;font-size:14px;color:#cbd6db;margin-top:12px}

.team-editor .kit-workspace{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.kit-workspace canvas{width:160px;height:160px;image-rendering:pixelated;border-radius:8px}.team-editor .player-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.team-editor input[type=color]{height:36px;min-width:64px}.team-editor input,.team-editor select{max-width:100%;box-sizing:border-box}.team-editor form{padding:12px 0}.team-editor label{font-size:14px}

.team-editor .kit-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.team-editor .kit-preview{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin:8px auto 4px}.team-editor .kit-preview canvas{display:block;width:min(100%,420px);height:auto;aspect-ratio:15/17;image-rendering:auto;border:1px solid #ffffff20;border-radius:12px;box-shadow:0 12px 30px #00000025}.team-editor .kit-workspace>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.team-editor .kit-workspace label{display:flex;flex-direction:column;gap:6px;min-width:0}.team-editor input[type=color]{width:100%;height:42px;padding:3px}.team-editor input[type=range]{width:100%;min-width:0}.team-editor .kit-preview button{width:auto;min-width:130px}.team-editor select{width:100%;font-size:14px}@media(max-width:360px){.team-editor .kit-workspace>div:last-child{grid-template-columns:minmax(0,1fr)}}
/* Game-native front end: a clear route from main menu to the pitch. */
[hidden]{display:none!important}.front-menu{max-width:1120px;margin:24px auto 60px;padding:28px;background:#15251d;border:1px solid #405443;border-radius:12px;color:#f2f1df;min-height:65vh}.front-menu nav{display:flex;align-items:center;gap:20px;border-bottom:1px solid #405443;padding-bottom:18px}.front-menu nav span{flex:1;color:#bec8b9;font-size:14px}.front-menu header{padding:36px 0 24px}.front-menu h2{font-size:clamp(28px,4vw,48px);margin:10px 0}.front-menu button{font:inherit;cursor:pointer;background:#21372a;color:#f2f1df;border:1px solid #586c4e;border-radius:6px;padding:12px 18px}.front-menu button:hover,.front-menu button:focus-visible{border-color:#d9fa75;background:#314b31}.front-menu button:disabled{opacity:.45;cursor:default}.menu-home{display:grid;grid-template-columns:1fr 1fr;gap:14px}.menu-home button{text-align:left;min-height:112px;padding:22px}.menu-home button:first-child{grid-row:span 2;background:#d9fa75;color:#142119}.menu-home strong{display:block;font-size:28px;margin-bottom:12px}.menu-home span{font-size:16px;line-height:1.5}.menu-content{max-width:900px}.menu-content>details{margin:0 0 24px}.menu-content>details>summary{font-size:20px}.menu-content label{font-size:16px}.menu-content p{font-size:16px;line-height:1.6}.menu-content select,.menu-content input:not([type=checkbox]):not([type=range]):not([type=color]){min-height:42px;font-size:16px}.menu-content .drills{border:0}.in-menu .scoreboard,.in-menu .footer{display:none}.workspace .practice-panel{display:none}.workspace{grid-template-columns:1fr;max-width:1200px}.menu-content #tactics{display:block!important}.front-menu :focus-visible{outline:2px solid #d9fa75;outline-offset:3px}@media(max-width:640px){.front-menu{margin:12px;padding:18px}.menu-home{grid-template-columns:1fr}.menu-home button:first-child{grid-row:auto}.front-menu nav{gap:8px;flex-wrap:wrap}.front-menu nav span{font-size:14px}.menu-content button{margin-bottom:8px}}
.pitch-topbar{height:auto;min-height:56px;padding-top:8px;padding-bottom:8px}#clock{font-size:clamp(23px,2.6vw,32px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;color:#fff5c5;white-space:nowrap;line-height:1.2}.season-statistics{margin-top:28px;padding-top:20px;border-top:1px solid #586c4e}.season-leaderboards{overflow-x:auto}.season-leaderboards table{width:100%;min-width:420px}.season-leaderboards h4{font-size:20px;margin:24px 0 12px}@media(max-width:600px){.pitch-topbar{gap:8px;padding-left:10px;padding-right:10px}.pitch-topbar>div{font-size:11px;letter-spacing:0;min-width:0}#clock{font-size:23px}}

/* A quiet player identifier beside the clock, outside the playing surface. */
.pitch-topbar{gap:12px}.pitch-topbar>div{min-width:0}.pitch-topbar #drill-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pitch-topbar .selected-player{margin-left:auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 12px/1.4 system-ui,sans-serif;letter-spacing:.02em;color:#eee8d4;border-left:2px solid #d9bc56;padding-left:10px}.pitch-topbar #clock{flex-shrink:0;font-variant-numeric:tabular-nums}@media(max-width:560px){.pitch-topbar{flex-wrap:wrap;gap:6px 10px}.pitch-topbar>div{flex:1 1 70%;overflow:hidden}.pitch-topbar .selected-player{order:3;max-width:100%;width:100%;margin:0;font-size:11px}.pitch-topbar #clock{margin-left:auto}}

.ball-picker{display:flex;gap:14px;align-items:center;padding:12px;background:#1b2c23;border:1px solid #465849;border-radius:8px;margin:12px 0 20px}.ball-picker canvas{width:64px;height:64px;flex:0 0 64px}.ball-picker>div{flex:1;min-width:0}.ball-picker label{display:block;margin-bottom:7px;font-size:13px;font-weight:600;color:#eee8d4}.ball-picker select{width:100%;min-width:0;min-height:40px;background:#112019;color:#f4f1de;border:1px solid #65735b;border-radius:4px;padding:8px;font:13px system-ui,sans-serif}.start-panel .ball-picker{padding:8px;gap:8px}.start-panel .ball-picker canvas{width:44px;height:44px;flex-basis:44px}.overlay{overflow-y:auto;padding:12px}.start-panel{max-height:calc(100% - 24px);overflow-y:auto}.ball-picker select:focus-visible{outline:2px solid #efd45a;outline-offset:2px}

/* Matchday strip: stays outside the playing surface. */
.pitch-topbar{background:linear-gradient(180deg,#23362a,#17271e);border-bottom:1px solid #687453;padding:10px 16px;letter-spacing:0;gap:18px;min-height:68px}
.pitch-topbar.is-match .session-label,.playing-match .masthead .scoreboard{display:none}
.pitch-topbar .match-score{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto minmax(0,1fr);gap:10px;align-items:center;flex:1 1 480px;max-width:640px;overflow:visible}
.match-score .match-team{font:650 1rem/1.3 system-ui,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-bottom:3px solid var(--team-colour);padding:6px 0;min-width:0}
#match-away{text-align:right}
.match-score strong{font:750 1.6rem/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums;background:#101d16;padding:5px 10px;border:1px solid #526148;border-radius:5px;color:#fff5d9;min-width:40px;text-align:center}
.score-divider{color:#acb69f}
.pitch-topbar .match-time{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:2px;overflow:visible}
#match-phase{font:600 .875rem/1.2 system-ui,sans-serif;color:#c9d1bf}
.pitch-topbar #clock{font:650 1.5rem/1.2 ui-monospace,monospace;letter-spacing:.02em;margin:0}
.pitch-topbar .selected-player{font-size:.875rem;max-width:24%;margin-left:auto}
@media(max-width:800px){.pitch-topbar{flex-wrap:wrap;gap:8px 14px}.pitch-topbar .match-score{flex:1 1 65%;max-width:none}.pitch-topbar .selected-player{order:3;width:100%;max-width:100%;font-size:.875rem}.pitch-topbar .match-time{margin-left:auto}.pitch-topbar.is-match{padding:10px}.match-score .match-team{font-size:.875rem}.match-score strong{font-size:1.3rem;padding:5px 7px;min-width:32px}.pitch-topbar .match-score{gap:6px}}
@media(max-width:420px){.pitch-topbar .match-score{flex-basis:100%}.pitch-topbar .selected-player{width:auto;flex:1;max-width:65%;order:0}.pitch-topbar .match-time{flex-direction:row;align-items:center;gap:8px}#match-phase{font-size:.875rem}.pitch-topbar #clock{font-size:1.1rem}}

/* Controller focus is deliberately visible even after pointer input. */
.front-menu.controller-navigation :is(button,select,input,summary,a):focus{outline:3px solid #efce44;outline-offset:4px;box-shadow:0 0 0 7px #efce441a;scroll-margin-block:90px}
.menu-controller-hints{position:sticky;bottom:0;z-index:3;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin:28px -10px -10px;padding:16px;background:#13231df5;border:1px solid #586849;border-radius:10px;box-shadow:0 -8px 24px #0002;color:#e8eadb;font:500 .875rem/1.4 system-ui,sans-serif}
.menu-controller-hints span{display:flex;align-items:center;gap:8px}.menu-controller-hints kbd{min-width:40px;min-height:28px;background:#293b2d;color:#fff0b9;font-size:.875rem}
@media(max-width:560px){.menu-controller-hints{gap:10px 16px;padding:12px}.menu-controller-hints span{flex:1 1 40%}}
.replay-controls{padding:16px 18px;background:#13231d;border-top:1px solid #a7965b;color:#f3efdc}.replay-heading{display:flex;justify-content:space-between;gap:12px;font:650 .875rem/1.4 system-ui,sans-serif;letter-spacing:.08em;color:#d9c779}.replay-heading span:last-child{font-variant-numeric:tabular-nums;letter-spacing:0}.replay-timeline{display:block;font-size:.875rem;margin:12px 0}.replay-timeline input{display:block;width:100%;accent-color:#efce44;min-height:32px;cursor:pointer}.replay-actions{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.replay-actions button{padding:12px 16px;min-height:48px;border:1px solid #697653;border-radius:8px;background:#25392b;color:#f5f0d9;font-size:1rem}.replay-actions label{display:flex;align-items:center;gap:10px;font-size:.875rem}.replay-actions select{width:auto!important;min-width:130px!important}#replay-return{margin-left:auto;background:#d9c779;color:#17251c;border-color:#d9c779}.replay-controls p{margin:12px 0 0;color:#adbcad;font-size:.875rem}.replay-label{font:700 .875rem/1.2 system-ui,sans-serif;letter-spacing:.12em;background:#15251de8;color:#efdc96;border:1px solid #a8975a;border-radius:5px;padding:8px 12px;pointer-events:none}@media(max-width:560px){.replay-actions button,.replay-actions label{flex:1 1 40%}#replay-return{margin-left:0}.replay-controls{padding:12px}}

.keeper-guide{margin:0;padding:12px 16px;background:#203429;border-top:1px solid #a7965b;color:#eee5c5;font:500 .875rem/1.5 system-ui,sans-serif}

.match-setup{margin-bottom:24px}.fixture-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fixture-card{min-width:0;padding:20px;background:linear-gradient(155deg,#283c2a,#17271d);border:1px solid #596d48;border-radius:14px}.fixture-card h3{margin:10px 0 18px;font:700 clamp(22px,2.5vw,30px)/1.15 system-ui,sans-serif;letter-spacing:-.03em;overflow-wrap:anywhere}.fixture-card-body{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);gap:16px;align-items:start}.fixture-card canvas{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 8px 24px #0003}.fixture-card-fields{min-width:0}.fixture-card-fields>label{margin-top:0;font-size:.875rem}.fixture-card .choice-menu .choice-current{padding:10px;min-height:48px;font-size:.875rem;gap:8px}.fixture-card .choice-menu .choice-grid{grid-template-columns:1fr}.fixture-card .choice-option{flex-basis:60px;padding:9px;font-size:.875rem}.fixture-card .choice-menu{margin:6px 0 14px}.match-conditions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.match-condition{min-width:0}.match-conditions>.skill-control{grid-column:1/-1;margin:0}.match-conditions label{display:block;margin-top:0;font-size:1rem;font-weight:600}.match-setup-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px;padding:16px 0;border-top:1px solid #435a3c}.match-setup-footer p{margin:0;color:#bdcbaa;font-size:.875rem}.match-setup-footer #apply-teams{margin:0;min-width:170px;padding:16px 24px;font-weight:750;background:#ffe04a;color:#142119;border-color:#ffe04a}.menu-content>.setup-secondary>summary{padding:4px 0}.setup-secondary[open]>section{margin-top:18px}.menu-content[data-screen=play]{max-width:none}@media(max-width:900px){.fixture-card-body{grid-template-columns:1fr}.fixture-card canvas{width:140px;margin:0 auto}.fixture-card{padding:16px}}@media(max-width:600px){.fixture-cards,.match-conditions{grid-template-columns:1fr}.fixture-card-body{grid-template-columns:100px minmax(0,1fr);gap:12px}.fixture-card canvas{width:100%}.match-setup-footer{align-items:stretch;flex-direction:column}.match-setup-footer #apply-teams{width:100%}}

.camera-adjustment{margin:14px 0;text-align:left;font-size:14px}.camera-adjustment label,.camera-adjustment-labels{display:flex;justify-content:space-between;gap:12px}.camera-adjustment-row{display:flex;align-items:center;gap:10px;margin:8px 0}.camera-adjustment-row input{flex:1;min-width:80px;accent-color:#e8c96e}.camera-adjustment-row button{min-width:40px;min-height:40px}.camera-adjustment-labels{opacity:.8}

.mowing-control{border:0;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mowing-control legend{font-size:14px;font-weight:700;margin-bottom:8px}.mowing-control button{font-size:14px;padding:10px;border:1px solid #667957;border-radius:6px;background:#263d2c;color:#fff}.mowing-control button[aria-pressed="true"]{border-color:#f1d44e;background:#42532a;color:#fff1a3}

.physics-control{border:0;margin:16px 0;padding:0}.physics-control legend{font-size:14px;font-weight:700}.physics-control label{display:grid;grid-template-columns:1fr auto;gap:6px;margin:12px 0;font-size:14px}.physics-control input{grid-column:1/-1;width:100%;accent-color:#f1d44e}.physics-control button{font-size:14px;padding:8px 12px}

.audio-mixer{margin:16px 0;padding:12px;border:1px solid #79886955;border-radius:6px;background:#00000010}.audio-mixer-heading{margin:0 0 8px;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.audio-mixer-row{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;margin:10px 0 4px;font-size:14px}.audio-mixer-row input[type=range]{grid-column:1/-1;width:100%;margin:0;accent-color:#d9fa75}.audio-mixer-label{font-weight:600}.audio-mixer-row output{font-variant-numeric:tabular-nums;opacity:.85}.audio-mixer-mute{display:flex;gap:8px;align-items:center;margin-top:12px}.audio-mixer-mute input{width:auto;margin:0}.audio-mixer-restore{margin-top:10px;font-size:14px;padding:8px 12px}.audio-mixer-status{margin:8px 0 0;font-size:13px;opacity:.85;min-height:18px}

/* Overlay, never in flow: a pip that appears and disappears must not move the
   pitch or the toolbar underneath it. */
.play-section{position:relative}.referee-call{position:absolute;left:18px;bottom:64px;z-index:4;display:inline-block;margin:0;padding:5px 11px;border:1px solid #f1d44e;border-radius:3px;background:#141c12e6;color:#f1d44e;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;box-shadow:0 2px 10px #00000059}.referee-call[hidden]{display:none}

.match-broadcast.fulltime-pop{background:rgba(9,20,27,.64);backdrop-filter:blur(2px);max-height:calc(100% - 32px);overflow:auto;pointer-events:auto;border-color:#ffffff55}
.fulltime-continue{display:block;margin:16px auto 0;padding:11px 24px;border:1px solid #ffffff80;border-radius:6px;background:#edda6a;color:#122019;font:700 16px inherit;cursor:pointer}
.fulltime-continue:focus-visible{outline:3px solid white;outline-offset:3px}
.broadcast-settling .fulltime-continue{cursor:default;background:linear-gradient(90deg,#edda6a 50%,#edda6a55 50%) right/200% 100% no-repeat;animation:fulltime-settle var(--fulltime-settle,1500ms) linear forwards}
.broadcast-settling .broadcast-continue{opacity:0}
.broadcast-continue{transition:opacity .3s}
@keyframes fulltime-settle{to{background-position:left}}
.match-broadcast.fulltime-pop{top:16px;bottom:auto;left:auto;right:16px;transform:none;width:min(440px,calc(100% - 32px));padding:16px 20px}
.fulltime-pop .broadcast-score{font-size:18px}.fulltime-pop .broadcast-score strong{font-size:44px}
.fulltime-continue{font-family:inherit;font-size:16px;font-weight:700}
@media(max-width:600px){.match-broadcast.fulltime-pop{top:12px;right:12px;width:calc(100% - 24px);max-height:70%;padding:12px}.fulltime-pop td,.fulltime-pop th{padding:4px 0}}

/* League browsing stays inside the existing team cards. */
.league-filters{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.league-filters button{font-size:13px;padding:8px 10px;min-height:36px;border-radius:8px}.league-filters button[aria-pressed="true"]{background:var(--accent,#d9ff69);color:#132019}.choice-option:has(small){display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}.choice-option small{font-size:12px;font-weight:400;opacity:.7}.fixture-league{font-size:14px;color:#aab8c9;margin:0 0 12px}.fixture-card h3{overflow-wrap:anywhere}.choice-browser .choice-grid{max-height:360px;overflow-y:auto;overscroll-behavior:contain}

.pause-substitutions{margin:1rem 0;text-align:left;width:100%;max-width:660px}.pause-substitutions summary{cursor:pointer;font-weight:800;font-size:1rem}.sub-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sub-columns section{min-width:0}.sub-columns h3{font-size:.9rem}.sub-off,.sub-on{max-height:210px;overflow:auto;display:grid;gap:5px}.sub-player{font-size:.875rem;text-align:left;padding:9px;border:1px solid #6b7779;background:#18292d;color:#fff;border-radius:7px}.sub-player[aria-pressed=true]{border-color:#cff37a;background:#35452a}.sub-status{font-size:.875rem!important}.sub-queues{display:grid;gap:5px}.sub-queues button,.sub-confirm{font-size:.875rem;margin:8px 0;padding:10px}.start-panel:has(.pause-substitutions[open]){max-width:740px;max-height:90vh;overflow:auto}.substitution-board{position:absolute;top:16%;left:50%;transform:translateX(-50%);z-index:15;background:#102125ed;color:#fff;border:1px solid #a0b58c;padding:14px 22px;border-radius:10px;pointer-events:none;font-size:1rem;max-width:90%;text-align:center}.substitution-board[hidden]{display:none}.substitution-board strong{color:#c5ef70}.substitution-board p{margin:5px 0}@media(max-width:520px){.sub-columns{grid-template-columns:1fr}.sub-off,.sub-on{max-height:140px}}

.domestic-calendar{margin-top:20px;border-top:1px solid #576267;padding-top:12px}.domestic-calendar details{padding:12px 0}.domestic-calendar summary{font-weight:800;cursor:pointer}.domestic-calendar h4{margin:16px 0 5px}.domestic-calendar p{font-size:.9rem;line-height:1.5}.your-cup-fixture{font-weight:800;color:#c5ed7a}.calendar-note{opacity:.8}

/* Immersive match view: the pitch fills the window during a match.
   Scoreboard and toolbar overlay the pitch; page chrome is hidden. */
body.immersive{overflow:hidden;background:#0d1610}
body.immersive .masthead,body.immersive .practice-panel,body.immersive .footer{display:none!important}
body.immersive .workspace{position:fixed;inset:0;z-index:40;display:block;padding:0;margin:0;max-width:none}
body.immersive .play-section{height:100dvh;border:0;border-radius:0}
body.immersive .stage{height:100dvh;max-height:none;min-height:0}
body.immersive .pitch-topbar{position:absolute;top:0;left:0;right:0;z-index:5;min-height:0;padding:8px 18px 20px;border:0;background:linear-gradient(180deg,#0c1710e6 0%,#0c1710b3 60%,#0c171000 100%);pointer-events:none}
body.immersive .pitch-topbar .match-score{max-width:560px}
body.immersive .pitch-badge{top:auto;bottom:62px;left:18px;opacity:.75}
body.immersive .pitch-toolbar{position:absolute;left:12px;bottom:12px;z-index:5;min-height:0;padding:4px;background:#0c1710b3;border-radius:6px;opacity:.7;transition:opacity .2s}
body.immersive .pitch-toolbar:hover,body.immersive .pitch-toolbar:focus-within{opacity:1}
body.immersive .pitch-toolbar .input-label{display:none}
body.immersive .keeper-guide{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:5;max-width:min(760px,90vw);border:1px solid #a7965b;border-radius:6px;background:#15261ce8}
body.immersive .replay-controls{position:absolute;left:0;right:0;bottom:0;z-index:6;background:#13231df0}
body.immersive .referee-call{bottom:auto;top:84px}

/* Match HUD (immersive): TV-style score bug, player card, hidden chrome. */
body.immersive .pitch-topbar{left:16px;top:14px;right:auto;padding:0;min-height:0;background:none;display:flex;align-items:stretch;gap:0}
body.immersive .match-score,body.immersive .pitch-topbar .match-time{box-shadow:0 4px 12px #0007}
body.immersive .pitch-topbar .session-label{display:none}
body.immersive .match-score{display:flex;align-items:center;gap:10px;flex:none;max-width:none;padding:0 14px;height:40px;background:#0d1511f0;border-radius:6px 0 0 6px}
body.immersive .match-score .match-team{font-size:0;border:0;padding:0;overflow:visible;display:flex;align-items:center;gap:7px}
body.immersive .match-score .match-team::after{content:attr(data-short);font:800 17px/1 var(--display-font,'Arial Narrow',sans-serif);letter-spacing:.08em;color:#fff7e0}
body.immersive .match-score .match-team::before{content:'';width:6px;height:22px;border-radius:2px;background:var(--team-colour)}
body.immersive #match-away{flex-direction:row-reverse}
body.immersive .match-score strong{font:800 22px/1 var(--display-font,'Arial Narrow',sans-serif);background:none;border:0;padding:0;min-width:16px;color:#fff}
body.immersive .match-score .score-divider{color:#8fa293;font-weight:700}
body.immersive .pitch-topbar .match-time{flex-direction:row;align-items:center;gap:8px;height:40px;padding:0 12px;background:#ffe04a;color:#132016;border-radius:0 6px 6px 0}
body.immersive .pitch-topbar #clock{font:800 19px/1 var(--display-font,'Arial Narrow',sans-serif);color:#132016;letter-spacing:.03em}
body.immersive #match-phase{font:700 11px/1 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#132016b3}
body.immersive .pitch-topbar .selected-player{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);max-width:60vw;margin:0;padding:6px 14px;border:0;border-radius:14px;background:#0d1511cc;font:700 13px/1.2 system-ui,sans-serif;color:#fff7e0}
body.immersive .player-stamina{display:block;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:120px;height:4px;border-radius:2px;background:#0d1511cc;overflow:hidden}
body.immersive .player-stamina i{display:block;height:100%;background:#7fe07a;transition:width .1s linear}
body.immersive .player-stamina i.low{background:#ff8a4a}
.player-stamina{display:none}
body.immersive .pitch-badge{display:none}
body.immersive:not(.match-paused) .pitch-toolbar{display:none}
body.immersive .referee-call{top:68px;left:16px}

/* Front end: live miniature match behind the menus, display type, glass panels. */
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(./fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-display:swap;src:url(./fonts/barlow-condensed-800.woff2) format('woff2')}
:root{--display-font:'Barlow Condensed','Arial Narrow',sans-serif;--brand-yellow:#ffe04a}
.menu-backdrop{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;filter:saturate(1.08) brightness(.78);opacity:0;transition:opacity .9s ease}.menu-backdrop.shown{opacity:1}@media (prefers-reduced-motion:reduce){.menu-backdrop{transition:none}}
body.in-menu{background:#0b130e}
body.in-menu::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,#0b130e00 0%,#0b130e66 55%,#0b130ee6 100%)}
body.in-menu .masthead,body.in-menu .front-menu,body.in-menu .footer{position:relative;z-index:1}
body.in-menu .masthead{border-bottom:0;background:linear-gradient(180deg,#0b130ecc,#0b130e00)}
body.in-menu .front-menu{background:#0d1611d6;border-color:#ffffff1f;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 24px 60px #0009}
.brand h1,#menu-title,.front-menu h2,.front-menu h3,.menu-home strong{font-family:var(--display-font);font-weight:800;letter-spacing:.01em}
#menu-title{font-size:clamp(40px,5vw,64px);text-transform:uppercase;line-height:.95;margin:6px 0 0}
.front-menu .release-label{display:none}
.menu-home button{background:#16241bcc;border:1px solid #ffffff1a;border-radius:10px;transition:transform .12s,background .12s,border-color .12s}
.menu-home button:hover,.menu-home button:focus-visible{transform:translateY(-2px);background:#1f3326e6;border-color:var(--brand-yellow)}
.menu-home strong{font-size:34px;text-transform:uppercase;margin-bottom:6px}
.menu-home span{color:#c9d3c4}
.menu-home button:first-child{background:var(--brand-yellow);color:#132016;border-color:transparent}
.menu-home button:first-child strong{font-size:56px}
.menu-home button:first-child span{color:#132016cc}
.menu-home button:first-child:hover,.menu-home button:first-child:focus-visible{background:#ffe766}
body.in-menu .front-menu:has(.menu-home:not([hidden])){max-width:700px;margin-left:max(24px,6vw);background:#0d1611b3}
body.in-menu .front-menu:has(.menu-home:not([hidden])) nav{display:none}
.menu-home button:first-child strong{font-size:64px}

/* Club crests (crest.js): score bug and match setup. */
body.immersive .match-score .match-team::before{width:22px;height:25px;border-radius:0;background:var(--crest-bg,var(--team-colour))}
.fixture-card h3.has-crest{display:flex;align-items:center;gap:12px}
.fixture-card h3.has-crest::before{content:'';flex:none;width:44px;height:50px;background:var(--crest-bg)}

/* Quick tactics badge (1/2/3 or hold View + D-pad). */
.tactic-badge{display:inline-flex;align-items:center;margin-left:10px;padding:0 10px;height:28px;border-radius:14px;background:#0d1511e6;color:#f3efdc;font:800 12px/1 var(--display-font,'Arial Narrow',sans-serif);letter-spacing:.08em;white-space:nowrap}
.tactic-badge[data-level="attacking"]{color:#ffb070}
.tactic-badge[data-level="defensive"]{color:#8fc8ff}
body.immersive .tactic-badge{align-self:center;box-shadow:0 4px 12px #0007}
.tactic-badge.flash{animation:tactic-flash .9s ease-out}
@keyframes tactic-flash{0%{transform:scale(1.25);background:#ffe04a;color:#132016}100%{transform:scale(1)}}
/* In-match replays: one slim strip, so the pitch above it stays in view (the camera frames the area above the strip). */
body.immersive .replay-controls{display:flex;align-items:center;gap:14px;padding:6px 14px;border-top-color:#a7965b99;background:#13231dd9}
body.immersive .replay-heading{flex:0 0 auto;flex-direction:column;gap:0;font-size:.6875rem;line-height:1.25}
body.immersive .replay-timeline{flex:1 1 auto;margin:0;font-size:0}
body.immersive .replay-timeline input{min-height:24px}
body.immersive .replay-actions{flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:8px}
body.immersive .replay-actions button{padding:5px 12px;min-height:32px;font-size:.8125rem}
body.immersive .replay-actions label{font-size:0;gap:0}
body.immersive .replay-actions select{min-height:32px!important;min-width:0!important;padding:5px 30px 5px 10px!important;font-size:.8125rem!important;background-position:right 10px center,0 0!important}
body.immersive .replay-controls>p{display:none}
@media(max-width:700px){body.immersive .replay-controls{flex-wrap:wrap}body.immersive .replay-timeline{flex-basis:100%;order:3}}
body.immersive .replay-actions .choice-menu{margin:0}
body.immersive .replay-actions .choice-grid{display:flex;flex-wrap:nowrap;gap:4px}
body.immersive .replay-actions .choice-option{min-height:32px;padding:4px 10px;font-size:.8125rem;white-space:nowrap}
body.immersive.replaying .selected-player{visibility:hidden}
.power-display.shot .power-track{background:linear-gradient(90deg,#183323 0 86%,#8a6a1c 86% 94%,#8c2a22 94% 100%)}
.power-display.shot .power-track i{background:#ffe04acc}

/* Penalty shootout: order of takers */
.shootout-order{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;width:min(320px,calc(100% - 32px));max-height:calc(100% - 40px);overflow:auto;padding:16px 16px 14px;border:1px solid #ffe04a55;border-radius:14px;background:#0c1710f2;color:#f3efdc;box-shadow:0 12px 40px #0008}
.shootout-order h3{margin:0 0 4px;color:#ffe04a;font:800 18px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.shootout-order p{margin:0 0 10px;font-size:12px;color:#bfc8b4}
.shootout-order ol{margin:0 0 12px;padding-left:22px;display:grid;gap:3px}
.shootout-order li{font-size:13px;color:#bfc8b4}.shootout-order li.first-five{color:#f3efdc;font-weight:700}
.shootout-order li>*{vertical-align:middle}.shootout-order li span{display:inline-block;width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shootout-order li em{display:inline-block;width:32px;font-style:normal;color:#ffe04a;text-align:right;margin-right:8px}
.shootout-order li button{width:26px;height:24px;margin-left:3px;border:1px solid #ffffff33;border-radius:6px;background:#1b2b20;color:#f3efdc;cursor:pointer}
.shootout-order li button:disabled{opacity:.3;cursor:default}
.shootout-order .shootout-go{width:100%;padding:9px;border:0;border-radius:9px;background:#ffe04a;color:#0c1710;font:800 15px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}

/* Simplified front menu (menu-simplify.js) */
.menu-simple .menu-hidden{display:none!important}
.menu-simple header .eyebrow{display:none}
.menu-simple [data-screen="home"]~* header .eyebrow{display:none}
.menu-simple .menu-group{margin:22px 0 6px;padding-top:14px;border-top:1px solid #ffffff1c}
.menu-simple .menu-group-title{margin:18px 0 10px;font:800 15px 'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#ffe04a}
.menu-simple .menu-small-print{margin-top:22px;font-size:12px;opacity:.7}
.menu-simple details.menu-flat{border:0}
.menu-simple [data-screen="competitions"] button:disabled{display:none}
.menu-simple [data-screen="competitions"] label:has(.choice-empty){display:none}
.menu-simple .match-setup-footer{position:sticky;bottom:0;z-index:3;padding:12px 0;margin-top:14px;background:#15251d;border-top:1px solid #405443}
.menu-simple .match-setup-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}
.menu-simple #apply-teams{flex:0 0 auto;width:auto;min-width:200px;font-size:16px}
.menu-simple .team-editor label:has(>input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}

.pause-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 6px}
.pause-actions #start{flex:1 1 auto}
.pause-menu-button{padding:12px 18px;border:1px solid #ffffff33;border-radius:10px;background:#1b2b20;color:#f3efdc;font-weight:700;cursor:pointer}
.pause-more{margin-top:14px;border-top:1px solid #ffffff1c;padding-top:10px}
.pause-more>summary{cursor:pointer;font-weight:700;margin-bottom:8px}
.menu-simple .menu-resume-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin:0 0 14px;padding:16px 22px;border-radius:10px;background:#1f3a2a;border:1px solid #ffe04a88;color:#f3efdc;cursor:pointer;text-align:left}
.menu-simple .menu-resume-tile strong{font:800 28px 'Barlow Condensed','Arial Narrow',sans-serif;text-transform:uppercase}
.menu-simple .menu-resume-tile strong{color:#ffe04a}
.menu-simple .menu-resume-tile span{color:#dfe6d6!important}
@media (max-width:600px){.menu-simple .match-setup-footer p{display:none}.menu-simple #apply-teams{flex:1 1 auto}}

/* Free practice full-screen: no score bug, the drill name sits where the score would. */
body.immersive .match-score[hidden]{display:none}
body.immersive-practice .pitch-topbar .session-label{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:#0d1511f0;border-radius:6px 0 0 6px;box-shadow:0 4px 12px #0007;font:800 15px/1 var(--display-font,'Arial Narrow',sans-serif);letter-spacing:.08em;color:#fff7e0}
body.immersive-practice .selected-player:empty{display:none}

/* League tables: broadcast format. P · crest and team · GP W D L F A GD · form · Pts. */
.league-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0}
.league-table{width:100%;min-width:560px;margin:0;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;text-align:center}
.league-table caption{text-align:left;font-weight:700;padding:0 0 6px}
.league-table th,.league-table td{width:auto;padding:0 6px;height:40px;border:0;font-weight:400;vertical-align:middle}
.league-table thead th{height:34px;color:var(--ink);font-weight:700;font-size:13px;text-align:center;border-bottom:1px solid var(--line)}
.league-table thead abbr{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}
.league-table tbody tr:nth-child(odd){background:#ffffff08}
.league-table tbody tr.lt-zone td{border-bottom:1px dashed #cfd8c9aa}
.league-table .lt-p{width:30px}
.league-table td:first-child{color:var(--muted);text-align:left}
.league-table th.lt-p{text-align:left}
.league-table .lt-team{text-align:left;width:auto}
.league-table th.lt-team{text-align:left}
.league-table td.lt-team{display:flex;align-items:center;gap:10px;height:40px;white-space:nowrap}
.league-table .lt-crest{width:22px;height:22px;flex:none;object-fit:contain}
.league-table .lt-name{overflow:hidden;text-overflow:ellipsis;max-width:220px}
.league-table .lt-gp,.league-table .lt-w,.league-table .lt-d,.league-table .lt-l,.league-table .lt-f,.league-table .lt-a{width:34px}
.league-table .lt-gd{width:40px}
.league-table .lt-form,.league-table .lt-form-cell{width:74px}
.league-table .lt-pts{width:40px;font-weight:800;font-size:15px}
.league-table th.lt-pts{font-weight:700;font-size:13px}
.league-table tr.lt-mine td{background:#efce4414;font-weight:700}
.league-table tr.lt-mine .lt-name{color:var(--yellow)}
/* Form: a win rises above the line, a loss hangs below it, a draw is a dot. */
.form-strip{display:inline-flex;align-items:center;gap:3px;height:22px;vertical-align:middle}
.form-strip i{display:block;width:5px;border-radius:2px}
.form-strip .form-w{height:14px;background:#46c46a;transform:translateY(-4px)}
.form-strip .form-l{height:14px;background:#e0443a;transform:translateY(4px)}
.form-strip .form-d{width:5px;height:5px;border-radius:50%;background:#9aa69c}
/* Narrow screens keep points in view: goals for/against go first, then W/D/L. */
@media(max-width:640px){.league-table{font-size:13px;min-width:0}.league-table th,.league-table td{padding:0 4px}.league-table .lt-f,.league-table .lt-a{display:none}.league-table .lt-name{max-width:150px}}
@media(max-width:460px){.league-table .lt-w,.league-table .lt-d,.league-table .lt-l{display:none}.league-table td.lt-team{gap:6px}.league-table .lt-name{max-width:120px}}
.club-fixtures-layout .league-table-wrap{grid-column:1/-1}
/* Division places: a coloured edge on the position, and a key under the table. */
.league-table tr[data-zone] td:first-child{box-shadow:inset 3px 0 0 var(--zone)}
[data-zone=promotion]{--zone:#46c46a}[data-zone=playoff]{--zone:#7fb6e8}[data-zone=relegation-playoff]{--zone:#f0a04b}[data-zone=relegation]{--zone:#e0443a}
.lt-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;font-size:12px;color:var(--muted)}
.lt-key-item{display:inline-flex;align-items:center;gap:6px}.lt-key-item i{width:10px;height:10px;border-radius:2px;background:var(--zone)}
.season-outcome{border:1px solid var(--line);border-radius:4px;padding:12px 14px;margin:12px 0;background:#15211a}
.season-outcome h3{margin:0 0 6px}.season-outcome .so-headline{font-size:18px;font-weight:700;margin:0 0 8px}
.season-outcome .so-up{color:#6fdc8c}.season-outcome .so-down{color:#ff8a7a}
.season-outcome ul{margin:4px 0 8px;padding-left:18px}.season-outcome li{margin:2px 0}

/* Credits (Settings > Credits). */
.credits-button{margin-top:12px}
.credits-dialog{max-width:640px;width:calc(100vw - 32px);max-height:80vh;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);padding:16px 20px}
.credits-dialog::backdrop{background:#000a}
.credits-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.credits-head h2{margin:0}
.credits h3{margin:16px 0 6px;font-size:15px}.credit-list{margin:0;padding-left:18px}.credit-entry{margin:4px 0;line-height:1.4}
.credit-name{font-weight:700}.credit-work,.credit-licence{color:var(--muted)}.credits a{color:var(--yellow)}
.credit-lead,.credit-note{color:var(--muted);font-size:13px}
/* Demo edition: the intro and mailing list run full width under the home tiles. */
.demo-edition .menu-home .demo-intro,.demo-edition .menu-home .demo-signup{grid-column:1/-1}
.demo-intro{margin:4px 0 0;color:#cbd6db}
.demo-signup{background:#0e1d15cc;border:1px solid #ffffff22;border-radius:12px;padding:16px 18px}
.demo-signup h3{margin:0 0 6px;font-size:18px}
.demo-signup>p{margin:0 0 12px;color:#cbd6db}
.demo-signup form{display:grid;gap:10px;max-width:520px}
.demo-signup-email{display:grid;gap:4px;font-weight:600}
.demo-signup input[type=email]{padding:10px 12px;border-radius:8px;border:1px solid #ffffff40;background:#08120d;color:#fff;font:inherit}
.demo-signup-consent{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:#dfe6e9}
.demo-signup-consent input{margin-top:3px}
.demo-signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.demo-signup button{justify-self:start;min-height:0;height:auto;padding:10px 20px;font-size:15px}
.demo-signup-status{min-height:1.2em;margin:0;color:#ffe04a}
.demo-signup .demo-signup-again{background:none;border:0;padding:0;color:#ffe04a;text-decoration:underline;font-size:14px;cursor:pointer}
.demo-signup .demo-signup-again[hidden]{display:none}
.demo-signup-privacy{margin:0;font-size:13px;color:#b7c4ca}
.demo-signup-privacy a{color:#ffe04a}
/* Demo edition: Settings keeps only a mute switch and a compact controls guide. */
.demo-edition .demo-sound-switch{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:15px}
.demo-edition .demo-sound-switch input[type=checkbox]{appearance:none;-webkit-appearance:none;flex:none;width:44px;height:24px;border-radius:999px;background:#3a4a3c;border:1px solid #ffffff33;position:relative;cursor:pointer;transition:background .15s ease}
.demo-edition .demo-sound-switch input[type=checkbox]::before{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#dfe6d6;transition:transform .15s ease}
.demo-edition .demo-sound-switch input[type=checkbox]:checked{background:#ffe04a}
.demo-edition .demo-sound-switch input[type=checkbox]:checked::before{transform:translateX(20px);background:#142119}
.demo-edition .demo-sound-switch input[type=checkbox]:focus-visible{outline:2px solid #ffe04a;outline-offset:2px}
.demo-edition .demo-controls-list{margin:10px 0 0}
.demo-edition .demo-controls-list>div{margin-bottom:16px}
.demo-edition .demo-controls-list dt{font-size:14px;color:var(--muted);margin-bottom:5px}
.demo-edition .demo-controls-list dd{margin:0;font-size:14px;line-height:1.5}
/* CPU v CPU: nobody at the controls, so no controlled-player label or stamina bar. */
.pitch-topbar .selected-player[hidden],.player-stamina[hidden]{display:none!important}
