/* Football Manager references: official Portal and Tactics screenshots.
   This workspace skin deliberately excludes the original home screen. */
.manager-only{display:none!important}
body:not(.is-menu){--bg:#10131e;--fg:#edf0f6;--muted:#a0aabd;--line:#30364a;--accent:#83dcc1;--accent-ink:#102a25;background:#10131e!important}
body:not(.is-menu) .stadium-backdrop,body:not(.is-menu) .stadium-haze,body:not(.is-menu) .stadium-grain{display:none}
body:not(.is-menu) .wrap{max-width:1460px;min-height:100vh;padding:20px 26px 50px;gap:18px}
body:not(.is-menu) .wrap>header{min-height:48px;padding:0 0 16px;margin-bottom:66px;border-bottom:1px solid #30364a}
body:not(.is-menu) .wrap>header h1{font-size:27px}
body:not(.is-menu) .brand svg{width:30px;height:30px}
body:not(.is-menu) .hub-actions{display:flex!important}
body:not(.is-menu) .hub-btn{border-radius:5px;background:#202536;border-color:#343b50;box-shadow:none}
body:not(.is-menu) .hub-strip{display:none}
body:not(.is-menu) .matchday-dock{display:flex!important;position:absolute;top:84px;bottom:auto;left:50%;transform:translateX(-50%);width:calc(100% - 52px);max-width:1408px;justify-content:flex-start;padding:0 10px;gap:6px;border:1px solid #30364a;border-radius:6px;background:#191d2d;box-shadow:none;backdrop-filter:none;z-index:34}
body:not(.is-menu) .matchday-dock button{display:flex!important;flex-direction:row;gap:8px;min-height:46px;width:auto;padding:10px 17px;font:650 12px var(--body);color:#a9b1c5;border-radius:0;border-bottom:2px solid transparent;white-space:nowrap}
body:not(.is-menu) .matchday-dock button svg{width:17px;height:17px}
body:not(.is-menu) .matchday-dock button:hover{background:#24293d;color:#f3f1ff}
body:not(.is-menu) .matchday-dock button[aria-current=page]{color:#d5b4ff;background:#a377ed12;border-bottom-color:#b48aef}
body:not(.is-menu) .matchday-dock button[data-nav=atmosphere]{margin-left:auto;display:none!important}
body:not(.is-menu) .panel,body:not(.is-menu) .pitchbox{border:1px solid #30364a;border-radius:7px;background:#191e2c;box-shadow:none;backdrop-filter:none;padding:22px}
body:not(.is-menu) .stage{gap:18px}
body:not(.is-menu) .stage.solo{max-width:100%;width:100%}
body:not(.is-menu) .panel>h2{font:750 26px/1.3 var(--body);letter-spacing:-.04em;text-transform:none}
body:not(.is-menu) .panel>.eyebrow{color:#ba9ae3}
body:not(.is-menu) .btn{border-radius:5px;background:#282e40;border-color:#3a435a;box-shadow:none;min-height:40px;font:650 12px var(--body);letter-spacing:0;text-transform:none}
body:not(.is-menu) .btn.primary{background:#83dcc1;color:#102a25;border-color:#83dcc1}
body:not(.is-menu) .btn:hover:not(:disabled){background:#35405a;box-shadow:none}
body:not(.is-menu) .btn.primary:hover:not(:disabled){background:#a3ead5}
body:not(.is-menu) .choice{border-radius:5px;background:#202637;border-color:#353d51;box-shadow:none;transform:none}
body:not(.is-menu) .choice b{font:700 15px var(--body)}
body:not(.is-menu) .choice[aria-pressed=true]{border-color:#83dcc1;background:#83dcc114}
body:not(.is-menu) .form input,body:not(.is-menu) .panel input,body:not(.is-menu) .panel select{border-radius:5px;background:#121724;border-color:#394055;color:#ecf0f7}
body:not(.is-menu) .pitch{border-radius:4px;background:repeating-linear-gradient(0deg,#125647 0,#125647 12.5%,#145b4c 12.5%,#145b4c 25%);border-color:#548c78;box-shadow:none}
body:not(.is-menu) .teambar .nm{font:700 18px var(--body);letter-spacing:-.02em}
body:not(.is-menu) .teambar .sub{font-size:11px;color:#aeb8c7}
body:not(.is-menu) .slot .pn{background:#0d2026eb;border-radius:2px;color:#f0f6f7;font-family:var(--body)}
body:not(.is-menu) .slot .ps{color:#e7f1ec;text-shadow:0 1px #000}
body:not(.is-menu) .game-intro,body:not(.is-menu) .foot{display:none}
body:not(.is-menu) .coach,body:not(.is-menu) .tactic-fit,body:not(.is-menu) .kit-picker,body:not(.is-menu) .box{border-radius:5px;background:#151b29;border-color:#343b50}
body:not(.is-menu) .caps button{border-radius:4px;background:#262c3d;border-color:#343e53}
body:not(.is-menu) .caps button[aria-pressed=true]{background:#8066ac40;color:#dec6ff;border-color:#ae86e4}
body:not(.is-menu) .signbar{background:#171d2cf5;border-top:1px solid #3a4358;box-shadow:none}
body:not(.is-menu) .hub-dialog{border-radius:9px;background:#191e2d;border:1px solid #3a435a;color:#edf0f7;box-shadow:0 20px 90px #0009}
body:not(.is-menu) .hub-dialog h2{font:750 24px var(--body)}
body:not(.is-menu) :focus-visible{outline:2px solid #c6a4fa;outline-offset:3px}
/* Arena: a real workspace, with one navigation level per task. */
body.is-fantasy .wrap{padding-top:20px}
body.is-fantasy #panel{padding:0;background:none;border:0;overflow:visible}
.ha-shell,.fm-overlay{--fm-ink:#edf0f7;--fm-muted:#a3aec1;--fm-line:#30364a;--fm-lime:#83dcc1;font-size:12px}
.ha-shell{gap:18px}
.ha-shell h2,.ha-shell h3,.fm-overlay h2,.fm-overlay h3{font-family:var(--body);letter-spacing:-.025em}
.ha-shell h3{font-size:15px;line-height:1.4;font-weight:700}
.ha-shell .fm-eyebrow{font-size:9px;letter-spacing:.1em;color:#acb7cb;margin:0 0 8px}
.ha-shell .fm-hint{font-size:11px;line-height:1.65;color:#909db3}
.ha-workspace-head{display:flex;align-items:center;gap:24px;padding:4px 0 0}
.ha-workspace-identity{display:flex;gap:13px;align-items:center;min-width:0}
.ha-workspace-identity>svg{width:43px;height:43px;color:#b593e7;background:#a37ed11c;border:1px solid #a37ed138;border-radius:7px;padding:9px}
.ha-workspace-head h2{font:750 26px/1.15 var(--body);letter-spacing:-.04em}
.ha-workspace-head .fm-eyebrow{font-size:8px;margin-bottom:7px;color:#a98acb}
.ha-workspace-head>.fm-btn{margin-left:auto}
.ha-workspace-meta{display:flex;gap:28px;margin-left:auto}
.ha-workspace-meta>span{display:flex;flex-direction:column;font-size:10px;color:#93a0b7;gap:5px}
.ha-workspace-meta b{font-size:14px;color:#dbe2ef;font-weight:700}
.ha-workspace-nav{display:flex;gap:24px;border-bottom:1px solid #343a50;min-height:48px;align-items:stretch}
.ha-workspace-nav>button{display:flex;align-items:center;gap:8px;padding:12px 3px;border:0;border-bottom:2px solid transparent;color:#9faac1;background:none;font-size:12px;font-weight:650;border-radius:0}
.ha-workspace-nav>button svg{width:16px;height:16px}
.ha-workspace-nav>button[aria-current=page]{color:#d4b6fc;border-bottom-color:#b48aef}
.ha-workspace-nav>button:hover:not(:disabled){color:#f0e8ff}
.ha-workspace-nav>button:disabled{opacity:.42}
.ha-nav-dot{width:5px;height:5px;border-radius:50%;background:#83dcc1}
.ha-local-status{display:flex;align-items:center;gap:6px;margin-left:auto;color:#8795ad;font-size:10px}
.ha-local-status svg{width:13px;height:13px}
.ha-manager-grid{display:grid;grid-template-columns:246px minmax(0,1fr);align-items:start;gap:18px}
.ha-setup{display:flex;flex-direction:column;gap:16px;min-width:0}
.ha-shell .ha-your-team{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:0;padding:20px;background:#1a2030;border:1px solid #343c51;border-radius:6px}
.ha-your-team>.fm-eyebrow{margin:0 0 3px;font-size:9px}
.ha-your-team>.fm-badge{width:43px;height:50px;color:#c2b0e3;background:none;margin-bottom:3px}
.ha-your-team>.fm-badge b{font-size:15px;color:#e0d0fa}
.ha-your-team h3{font-size:19px;line-height:1.35;overflow-wrap:anywhere}
.ha-your-team>p:not(.fm-eyebrow){font-size:11px;line-height:1.75;color:#a4b0c3;margin:0}
.ha-squad-ready{font-size:9px;color:#83dcc1;display:flex;align-items:center;gap:5px;padding-top:2px}
.ha-squad-ready svg{width:13px;height:13px}
.ha-team-actions{display:flex;flex-direction:column;width:100%;max-width:none;gap:7px;margin-top:7px}
.ha-team-actions .fm-btn{width:100%;justify-content:center;min-height:38px;font-size:11px}
.ha-shell .fm-btn,.fm-overlay .fm-btn{min-height:36px;padding:9px 13px;border:1px solid #3a4259;border-radius:4px;background:#262d40;color:#e1e7f1;font-size:11px;font-weight:650;letter-spacing:0;box-shadow:none;line-height:1.4}
.ha-shell .fm-btn svg,.fm-overlay .fm-btn svg{width:15px;height:15px}
.ha-shell .fm-btn.primary,.fm-overlay .fm-btn.primary{background:#83dcc1;border-color:#83dcc1;color:#102a25}
.ha-shell .fm-btn:hover:not(:disabled),.fm-overlay .fm-btn:hover:not(:disabled){background:#36405a}
.ha-shell .fm-btn.primary:hover:not(:disabled),.fm-overlay .fm-btn.primary:hover:not(:disabled){background:#a3ead5}
.ha-format-panel{border:1px solid #343c51;background:#191f2e;border-radius:6px;padding:17px}
.ha-format-panel .fm-section-title{margin-bottom:13px}
.ha-modes{display:flex;flex-direction:column;gap:7px}
.ha-shell .ha-modes>button{display:grid;grid-template-columns:20px 1fr;gap:5px 10px;position:relative;padding:13px 26px 13px 11px;min-height:76px;background:#22283b;border:1px solid #353c53;border-radius:4px;text-align:left}
.ha-shell .ha-modes>button>svg{width:18px;height:18px;grid-row:1/3;color:#a5b2c7;margin-top:1px}
.ha-shell .ha-modes>button>b{font-size:11px;color:#e1e7f2;line-height:1.4}
.ha-shell .ha-modes>button>small{font-size:9px;color:#9daac0;line-height:1.6}
.ha-shell .ha-modes>button>i{right:8px;top:14px;width:13px;height:13px}
.ha-shell .ha-modes>button>i svg{width:13px;height:13px}
.ha-shell .ha-modes>button[aria-pressed=true]{background:#7661a526;border-color:#9474c6}
.ha-shell .ha-modes>button[aria-pressed=true]>svg,.ha-shell .ha-modes>button[aria-pressed=true]>i{color:#c5a6f3}
.ha-shell .ha-resume{display:flex;align-items:center;gap:10px;padding:15px;border-radius:5px;background:#163329;border:1px solid #357561;color:#94e0c5;text-align:left}
.ha-resume>svg{width:18px;height:18px;flex:none}
.ha-resume>span{flex:1;min-width:0}
.ha-resume b{font-size:11px;line-height:1.5}
.ha-resume small{font-size:9px;line-height:1.6;margin-top:4px;color:#93b9ab}
.ha-setup-note{font-size:10px;line-height:1.8;color:#8591a9;margin:0 6px}
.ha-catalog{background:#191f2e;border:1px solid #343c51;border-radius:6px;padding:19px;min-width:0}
.ha-catalog>.fm-section-title{margin-bottom:16px}
.ha-catalog .fm-section-title .fm-hint{margin:5px 0 0}
.ha-archive-label{font-size:8px!important;letter-spacing:.06em;color:#a4afc3!important;background:#2a3146;padding:5px 7px;border-radius:3px}
.ha-filter-bar{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(125px,1fr) minmax(120px,.8fr);gap:8px}
.ha-shell .fm-search{height:38px;border-radius:4px;border:1px solid #3b435a;background:#111725;display:flex;align-items:center;padding:0 10px;gap:8px}
.ha-shell .fm-search svg{width:15px;height:15px;color:#8998b2}
.ha-shell .fm-search input{padding:0;min-width:0;background:transparent!important;border:0!important;outline-offset:7px;font-size:11px;height:100%;width:100%}
.ha-shell .ha-filter-bar select{min-height:38px;border:1px solid #3b435a;border-radius:4px;padding:8px 10px;font-size:11px;background:#111725;color:#dce3f1;width:100%;min-width:0}
.ha-catalog-tools{display:flex;gap:10px;align-items:center;margin:13px 0 17px}
.ha-catalog-tools #ha-count{font-size:10px;color:#8391a9;white-space:nowrap}
.ha-catalog-tools #ha-fill{margin-left:auto}
.ha-catalog-tools .fm-btn{min-height:30px;padding:6px 9px;font-size:10px}
.ha-catalog-tools #ha-champions[aria-pressed=true]{background:#56482b;color:#f0d79c;border-color:#988357}
.ha-table-labels{display:grid;grid-template-columns:minmax(190px,1.2fr) 72px minmax(140px,1fr) 70px;align-items:center;gap:13px;padding:10px 13px;background:#22293b;border:1px solid #323a50;border-radius:4px 4px 0 0;font-size:8px;color:#9eaac1;letter-spacing:.055em}
.ha-table-labels>span:last-child{text-align:right}
.ha-opponents{display:flex;flex-direction:column;gap:0;max-height:534px;overflow:auto;border:1px solid #30384e;border-top:0;border-radius:0 0 4px 4px;scrollbar-width:thin;scrollbar-color:#46516d #161c2b}
.ha-shell .ha-opponent{display:grid;grid-template-columns:minmax(190px,1.2fr) 72px minmax(140px,1fr) 70px;align-items:center;gap:13px;padding:11px 12px;border:0;border-bottom:1px solid #30384e;border-radius:0;background:#181e2c;transform:none;box-shadow:none;min-height:74px;flex:none;overflow:visible}
.ha-shell .ha-opponent:nth-child(even){background:#202637}
.ha-shell .ha-opponent:last-child{border-bottom:0}
.ha-shell .ha-opponent:before,.ha-shell .ha-opponent:after{display:none}
.ha-shell .ha-opponent:hover{background:#2a3045}
.ha-shell .ha-opponent.selected{background:#263c3b;box-shadow:inset 3px 0 #83dcc1}
.ha-shell .ha-inspect{display:flex;align-items:center;justify-content:flex-start;gap:11px;border:0;background:none;padding:0;margin:0;width:100%;min-height:46px;text-align:left;color:#e8edf6;min-width:0}
.ha-inspect>.ha-crest{width:32px;height:38px;object-fit:contain;flex:none}
.ha-inspect>.fm-badge{width:30px;height:35px;flex:none}
.ha-inspect>span{min-width:0;display:flex;flex-direction:column;gap:5px}
.ha-inspect>span>b{font-size:12px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.ha-inspect>span>small{font-size:9px;color:#a4afc3;line-height:1.5}
.ha-inspect small i{font-style:normal;margin:0 5px;color:#66738b}
.ha-inspect small em{font-style:normal;color:#d7be7e}
.ha-inspect:hover>span>b{color:#cbb0f5}
.ha-row-formation{font-size:11px;color:#b6c1d3;font-variant-numeric:tabular-nums;white-space:nowrap}
.ha-shell .ha-stars{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0;min-height:0;min-width:0}
.ha-stars>div{display:flex;align-items:center;gap:0;padding-left:4px}
.ha-shell .ha-stars .fm-photo{width:22px;height:25px;border:1px solid #4b556f;border-radius:3px;margin-left:-3px;background:#293449}
.ha-shell .ha-stars>span:not(.fm-photo){font-size:8px;line-height:1.45;color:#98a6bf;margin:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ha-shell .ha-add{display:flex;justify-content:center;align-items:center;gap:4px;width:70px;height:32px;min-height:32px;border:1px solid #424b64;background:#282f43;border-radius:4px;color:#bfcbe0;font-size:10px;margin:0}
.ha-shell .ha-add>svg{width:13px;height:13px}
.ha-shell .ha-add[aria-pressed=true]{background:#83dcc1;color:#102a25;border-color:#83dcc1}
.ha-catalog #ha-more{margin-top:12px;min-height:34px}
.ha-archive-note{font-size:9px!important;margin:12px 0 0;line-height:1.7}
.ha-shell #ha-selection{position:sticky;bottom:12px;z-index:30}
.ha-shell .ha-selection{position:static;border-radius:6px;background:#1b2535f5;border:1px solid #536279;box-shadow:0 8px 30px #0004;padding:14px 19px;backdrop-filter:blur(16px)}
.ha-selection-head small{font-size:8px;color:#9cacc2;letter-spacing:.08em}
.ha-selection-head b{font:700 17px var(--body);margin-top:5px;color:#e5ebf5}
.ha-selection-head .fm-btn.primary{min-height:40px;font-size:12px;padding:10px 22px}
.ha-selection>p{font-size:10px;color:#909fb7;margin-top:8px}
.ha-selected-chips{margin-top:10px;gap:6px}
.ha-selected-chips>button{border-radius:3px;background:#2b3d45;border-color:#4b6d70;color:#bcdfd9;font-size:10px;min-height:29px}
/* The squad uses the pitch + player list split from the tactics reference. */
.ha-squad-header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px;border:1px solid #315956;border-radius:5px;background:linear-gradient(100deg,#183f39,#1b2b32)}
.ha-squad-header h3{font-size:23px}
.ha-squad-header p:not(.fm-eyebrow){font-size:11px;margin:8px 0 0;color:#a1c2b9}
.ha-squad-header>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.ha-squad-board{display:flex;flex-direction:column;gap:15px;min-width:0}
.ha-squad-board .opponent-roster,.fm-sheet .opponent-roster{background:#191f2e;border:1px solid #343c51;border-radius:5px;margin:0;color:#e7edf6;overflow:hidden}
.ha-squad-board .opponent-roster[open],.fm-sheet .opponent-roster[open]{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(280px,1.15fr);gap:0 18px;padding:0 18px 18px;align-items:start}
.ha-squad-board .opponent-roster>summary,.fm-sheet .opponent-roster>summary{grid-column:1/-1;margin:0 -18px 18px;padding:13px 18px;background:#262e42;font-size:11px;letter-spacing:0;text-transform:none}
.ha-squad-board .roster-pitch,.fm-sheet .roster-pitch{margin:0;min-height:450px;height:490px;border-radius:3px;border-color:#4b8d77;background:repeating-linear-gradient(0deg,#114f42 0,#114f42 12.5%,#155748 12.5%,#155748 25%)}
.ha-squad-board .roster-list,.fm-sheet .roster-list{display:grid;grid-template-columns:1fr;margin:0;gap:0}
.ha-squad-board .roster-list>div,.fm-sheet .roster-list>div{min-width:0;display:grid;grid-template-columns:29px 35px minmax(0,1fr);align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid #333b51;background:#1c2333;min-height:45px}
.ha-squad-board .roster-list>div:nth-child(even),.fm-sheet .roster-list>div:nth-child(even){background:#242c3e}
.ha-squad-board .roster-list .list-photo,.fm-sheet .roster-list .list-photo{width:27px;height:31px}
.ha-squad-board .roster-list .chip,.fm-sheet .roster-list .chip{font-size:9px;border-radius:3px;background:#286155;color:#cceee3;padding:4px 5px;text-align:center}
.ha-squad-board .roster-list b,.fm-sheet .roster-list b{display:block;font-size:11px;line-height:1.5}
.ha-squad-board .roster-list small,.fm-sheet .roster-list small{font-size:9px;color:#98a9be;margin-top:3px}
.ha-squad-bench{border:1px solid #343c51;border-radius:5px;padding:18px;background:#1a2030}
.ha-squad-bench .ha-bench-mini{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px}
.ha-bench-mini>div{padding:10px;border-radius:4px;background:#242c3e}
.ha-bench-mini b{font-size:11px}
.ha-bench-mini small{font-size:9px;color:#a3b0c3}
.ha-squad-empty{text-align:center;padding:70px 24px;background:#191f2e;border:1px solid #343c51;border-radius:6px}
.ha-squad-empty>svg{width:65px;height:65px;color:#659d8d;margin-bottom:22px}
.ha-squad-empty h3{font-size:20px}
.ha-squad-empty p{margin-top:12px;color:#9aa7bd;font-size:12px}
.fm-sheet{background:#191f2e;border:1px solid #3f4962;border-radius:8px;width:min(940px,calc(100vw - 40px));color:#e7edf6}
.fm-sheet-head{border-bottom:1px solid #353d53;padding-bottom:15px}
.fm-sheet-head h2{font-size:23px}
.fm-sheet .fm-player-row{background:#252d3f;border-radius:4px;border-color:#39445d}
.fm-sheet .fm-details{background:#151b29;border-radius:5px}
.fm-sheet input{background:#111725;border-color:#3b435a;border-radius:4px;color:#e7edf6}
/* Match centre and standings retain all existing data and actions. */
.ha-tournament-top{padding:18px 20px;background:#1b2233;border:1px solid #343c51;border-radius:5px}
.ha-tournament-top h2{font:750 24px var(--body);letter-spacing:-.035em;margin-bottom:8px}
.ha-tournament-top p:not(.fm-eyebrow){font-size:11px}
.ha-shell .ha-match{align-self:stretch;width:100%;max-width:none;border-radius:6px;border-color:#3c4a61;background:linear-gradient(115deg,#1d2c3d,#20273b);box-shadow:none}
.ha-match .fm-duel{padding:25px;max-width:800px;margin:auto}
.ha-match .fm-duel strong{font-size:15px}
.ha-shell .fm-match-footer{border-top:1px solid #39465b;background:#151e2d}
.ha-shell .fm-match-footer b{font:700 17px var(--body);margin-top:5px}
.ha-shell .fm-stats{gap:12px}
.ha-shell .fm-stat{padding:17px 20px;background:#1c2334;border:1px solid #343d53;border-radius:5px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.ha-shell .fm-stat strong{font:750 26px var(--body);color:#d0b6f4}
.ha-shell .fm-stat small{font-size:9px;color:#acb7cd}
.ha-shell .fm-card{padding:20px;background:#191f2e;border:1px solid #343c51;border-radius:5px;box-shadow:none}
.ha-shell .fm-table th{background:#262e42;color:#aeb9d0;font-size:9px;padding:11px 13px}
.ha-shell .fm-table td{padding:10px 13px;font-size:11px;border-color:#30394f}
.ha-shell .fm-table tr:nth-child(even){background:#20283a}
.ha-shell .fm-table tr.mine{background:#83dcc114}
.ha-shell .fm-table td:last-child{color:#aee4d3}
.ha-shell .fm-week{background:#171e2d;border-color:#343d53;border-radius:4px}
.ha-shell .fm-week summary{font-size:11px;color:#c2cce0}
.ha-shell .fm-week summary b{font-size:8px;color:#a08dbe}
.ha-shell .ha-fixture{border:0;border-top:1px solid #30394f;border-radius:0;margin:0;background:#202738;padding:11px 14px;color:#dce3f1}
.ha-shell .ha-fixture.mine{background:#283d3d}
.ha-shell .ha-fixture strong{font:750 17px var(--body);color:#c7b0ea}
.ha-shell .fm-toast:empty{display:none}
/* Compact data surfaces in the remaining inner menus. */
body[data-phase=leaderboard] .stage{max-width:none}
body[data-phase=leaderboard] .panel>h2{font-size:27px}
body[data-phase=leaderboard] .ladder-dashboard{grid-template-columns:minmax(0,1.4fr) minmax(290px,.8fr);gap:18px}
body:not(.is-menu) .ladder-table-wrap,body:not(.is-menu) .ladder-movement,body:not(.is-menu) .ladder-entry,body:not(.is-menu) .ladder-placement{border-radius:5px;border-color:#364058;background:#1b2334;box-shadow:none}
body:not(.is-menu) .ladder-podium-card{border-radius:4px;background:#273046;border-color:#3d4c68;box-shadow:none;min-height:145px!important}
body:not(.is-menu) .ladder-podium-card.place-1{background:#343329;border-color:#807650}
body:not(.is-menu) .ladder-podium-card.place-3{background:#342c31;border-color:#715855}
body:not(.is-menu) .ladder-table th{background:#2b344b;font-size:9px;color:#afbdd5}
body:not(.is-menu) .ladder-table td{padding:10px 9px;border-color:#323d55}
body:not(.is-menu) .ladder-table tr:nth-child(even){background:#242d40}
body:not(.is-menu) .ladder-table-scroll thead{background:#2b344b}
body:not(.is-menu) .ladder-period,body:not(.is-menu) .hub-switch{border-radius:4px;background:#111725}
body:not(.is-menu) .ladder-period button,body:not(.is-menu) .hub-switch button{border-radius:3px}
body:not(.is-menu) .ladder-period button[aria-pressed=true]{background:#665080;color:#eee3ff}
body:not(.is-menu) .ladder-movement-head h3{font:750 19px var(--body)}
@media(min-width:950px){body[data-phase=tactics] .pitchbox{position:sticky;top:20px}body[data-phase=tactics] .stage{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}
@media(max-width:1100px){.ha-manager-grid{grid-template-columns:220px minmax(0,1fr);gap:14px}.ha-table-labels,.ha-shell .ha-opponent{grid-template-columns:minmax(160px,1fr) 65px minmax(95px,.7fr) 60px;gap:8px}.ha-shell .ha-add{width:60px}.ha-catalog{padding:15px}.ha-workspace-meta{gap:16px}body:not(.is-menu) .matchday-dock button{padding-inline:13px}.ha-inspect>span>b{font-size:11px}}
@media(max-width:850px){
 body:not(.is-menu) .wrap{padding:16px 16px 35px}
 body:not(.is-menu) .wrap>header{margin-bottom:66px}
 body:not(.is-menu) .matchday-dock{top:80px;width:calc(100% - 32px);overflow-x:auto;justify-content:flex-start;scrollbar-width:none;padding:0 5px;gap:0}
 body:not(.is-menu) .matchday-dock button{padding:10px 12px;font-size:11px;min-height:46px}
 .ha-workspace-meta{display:none}
 .ha-manager-grid{grid-template-columns:1fr}
 .ha-setup{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .ha-shell .ha-your-team{padding:17px;gap:8px}
 .ha-format-panel{padding:15px}
 .ha-shell .ha-modes>button{min-height:65px;padding:11px 26px 11px 10px}
 .ha-shell .ha-your-team>.fm-badge{display:none}
 .ha-resume{grid-column:1/-1}
 .ha-setup-note{display:none}
 .ha-table-labels,.ha-shell .ha-opponent{grid-template-columns:minmax(170px,1.2fr) 65px minmax(120px,1fr) 70px}
 .ha-shell .ha-add{width:70px}
 .ha-squad-header{align-items:flex-start;flex-direction:column}
 .ha-squad-header>div:last-child{justify-content:flex-start}
 body[data-phase=leaderboard] .ladder-dashboard{grid-template-columns:minmax(0,1fr)}
 .ha-squad-bench .ha-bench-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ha-squad-board .opponent-roster[open],.fm-sheet .opponent-roster[open]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}
 .ha-squad-board .roster-list>div,.fm-sheet .roster-list>div{grid-template-columns:25px minmax(0,1fr);gap:7px;padding:7px}
 .ha-squad-board .roster-list .chip,.fm-sheet .roster-list .chip{display:none}
}
@media(max-width:560px){
 body:not(.is-menu) .wrap{padding:13px 12px 35px;gap:13px}
 body:not(.is-menu) .wrap>header{margin-bottom:59px;min-height:46px;padding-bottom:12px}
 body:not(.is-menu) .wrap>header h1{font-size:22px}
 body:not(.is-menu) .brand svg{width:25px;height:25px}
 body:not(.is-menu) .hub-actions .hub-btn{min-height:34px;padding:7px}
 body:not(.is-menu) .hub-actions .hub-name{max-width:55px}
 body:not(.is-menu) .hub-actions #hub-stats,body:not(.is-menu) .hub-actions #hub-leaderboard{display:none}
 body:not(.is-menu) .matchday-dock{top:72px;width:calc(100% - 24px);border-radius:4px}
 body:not(.is-menu) .matchday-dock button{padding:10px;min-height:43px;gap:5px;font-size:10px;flex:none}
 body:not(.is-menu) .matchday-dock button svg{width:14px;height:14px}
 body:not(.is-menu) .panel,body:not(.is-menu) .pitchbox{padding:15px;border-radius:5px}
 body:not(.is-menu) .panel>h2{font-size:23px}
 body:not(.is-menu) .choice b{font-size:13px}
 body:not(.is-menu) .choice small{font-size:10px}
 .ha-shell{gap:14px}
 .ha-workspace-head{gap:9px}
 .ha-workspace-identity{gap:9px}
 .ha-workspace-identity>svg{width:35px;height:35px;padding:7px}
 .ha-workspace-head h2{font-size:20px}
 .ha-workspace-head .fm-eyebrow{font-size:6px;letter-spacing:.06em}
 .ha-workspace-head>.fm-btn{font-size:9px;padding:8px;gap:4px;min-height:35px}
 .ha-workspace-head>.fm-btn svg{width:12px;height:12px}
 .ha-workspace-nav{gap:16px;min-height:43px}
 .ha-workspace-nav>button{font-size:10px;padding:9px 0;gap:5px;white-space:nowrap}
 .ha-workspace-nav>button svg{width:13px;height:13px}
 .ha-local-status{display:none}
 .ha-setup{grid-template-columns:1fr}
 .ha-shell .ha-your-team{padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}
 .ha-your-team>.fm-eyebrow,.ha-your-team>h3,.ha-your-team>p,.ha-your-team>.ha-squad-ready{grid-column:1}
 .ha-your-team h3{font-size:16px}
 .ha-your-team>p:not(.fm-eyebrow){font-size:10px}
 .ha-team-actions{grid-column:2;grid-row:1/5;margin:0;width:126px;gap:6px;align-self:center}
 .ha-team-actions .fm-btn{padding:7px 8px;font-size:9px;min-height:34px}
 .ha-format-panel{padding:13px}
 .ha-format-panel .fm-section-title{margin-bottom:10px}
 .ha-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .ha-shell .ha-modes>button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:99px;padding:10px 8px}
 .ha-shell .ha-modes>button>b{font-size:10px}
 .ha-shell .ha-modes>button>small{font-size:8px;line-height:1.5}
 .ha-shell .ha-modes>button>i{right:7px;top:11px}
 .ha-catalog{padding:12px}
 .ha-catalog .fm-section-title .fm-hint{font-size:10px}
 .ha-archive-label{display:none}
 .ha-filter-bar{grid-template-columns:1fr 1fr;gap:7px}
 .ha-filter-bar>.fm-search{grid-column:1/-1}
 .ha-catalog-tools{gap:7px;flex-wrap:wrap;margin:11px 0}
 .ha-catalog-tools .fm-btn{font-size:9px;padding:6px}
 .ha-catalog-tools #ha-fill{flex:none;max-width:none}
 .ha-catalog-tools #ha-count{font-size:9px}
 .ha-table-labels,.ha-shell .ha-opponent{grid-template-columns:minmax(0,1fr) 52px 56px;gap:8px}
 .ha-table-labels{padding:9px;font-size:7px}
 .ha-table-labels>span:nth-child(3),.ha-shell .ha-stars{display:none}
 .ha-shell .ha-opponent{padding:9px 8px;min-height:66px}
 .ha-shell .ha-inspect{gap:8px}
 .ha-inspect>.ha-crest{width:26px;height:31px}
 .ha-inspect>span>b{font-size:10px;line-height:1.4}
 .ha-inspect>span>small{font-size:8px}
 .ha-inspect small i{margin:0 3px}
 .ha-row-formation{font-size:9px}
 .ha-shell .ha-add{width:56px;min-height:34px;font-size:9px;gap:3px}
 .ha-shell .ha-add>svg{width:11px;height:11px}
 .ha-shell #ha-selection{bottom:calc(8px + env(safe-area-inset-bottom))}
 .ha-shell .ha-selection{padding:12px}
 .ha-selection-head b{font-size:14px}
 .ha-selection-head .fm-btn.primary{font-size:10px;padding:9px 12px;min-height:38px}
 .ha-selected-chips>button{font-size:9px}
 .ha-squad-header{padding:15px}
 .ha-squad-header h3{font-size:20px}
 .ha-squad-header .fm-btn{font-size:10px}
 .ha-squad-board .opponent-roster[open],.fm-sheet .opponent-roster[open]{grid-template-columns:1fr;padding:0 12px 12px;gap:12px}
 .ha-squad-board .opponent-roster>summary,.fm-sheet .opponent-roster>summary{margin:0 -12px 0;padding:12px}
 .ha-squad-board .roster-pitch,.fm-sheet .roster-pitch{min-height:410px;height:440px}
 .ha-squad-board .roster-list>div,.fm-sheet .roster-list>div{grid-template-columns:29px 34px minmax(0,1fr);padding:8px 10px}
 .ha-squad-board .roster-list .chip,.fm-sheet .roster-list .chip{display:block}
 .ha-squad-bench{padding:14px}
 .ha-squad-bench .ha-bench-mini{gap:8px}
 .ha-bench-mini>div{padding:8px;gap:7px}
 .ha-bench-mini b{font-size:10px}
 .ha-bench-mini .fm-photo{width:27px;height:34px}
 .fm-sheet{width:100%;padding:18px 14px;border-radius:8px 8px 0 0;max-height:94dvh}
 .fm-sheet-head h2{font-size:19px}
 .ha-tournament-top{padding:15px}
 .ha-tournament-top h2{font-size:21px}
 .ha-match .fm-duel{padding:20px 12px}
 .ha-match .fm-duel strong{font-size:11px}
 .ha-shell .fm-match-footer b{font-size:14px}
 .ha-shell .fm-stat{padding:13px;display:block}
 .ha-shell .fm-stat strong{display:block;font-size:23px;margin-top:8px}
 .ha-shell .fm-card{padding:14px 10px}
 .ha-shell .fm-table th,.ha-shell .fm-table td{padding:10px 5px;font-size:9px}
 .ha-shell .fm-stats{gap:7px}
 .ha-shell .ha-fixture{padding:10px 7px}
 .ha-shell .ha-fixture>span>b{font-size:9px}
 .ha-shell .ha-fixture strong{font-size:14px}
}
@media(prefers-reduced-motion:reduce){body:not(.is-menu) *,body:not(.is-menu) *:before,body:not(.is-menu) *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Explicit content wrapper keeps the pitch and list aligned across details implementations. */
.fm-sheet{max-width:940px}
.fm-sheet>*{flex-shrink:0}
.ha-squad-board .opponent-roster[open],.fm-sheet .opponent-roster[open]{display:block;padding:0 18px 18px}
.ha-pitch-and-list{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(280px,1.15fr);gap:18px;align-items:start}
.ha-squad-board .opponent-roster>summary,.fm-sheet .opponent-roster>summary{margin:0 -18px 18px}
.ha-pitch-and-list .roster-list{min-width:0}
@media(max-width:850px){.ha-pitch-and-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}}
@media(max-width:560px){.ha-squad-board .opponent-roster[open],.fm-sheet .opponent-roster[open]{padding:0 12px 12px}.ha-pitch-and-list{grid-template-columns:1fr}.ha-squad-board .opponent-roster>summary,.fm-sheet .opponent-roster>summary{margin:0 -12px 12px}}
