/* These wrappers are layout-neutral on phones. */
.hud-utilities,.city-sidebar{display:contents}
/* Wide screens use a website shell: top HUD, slim navigation, independent content. */
@media (min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell,.game-shell.has-home-chat{
  --rail-width:76px;--section-tabs-height:40px;--city-panel-width:160px;
  width:100%;max-width:1920px;height:100%;min-height:0;max-height:100%;margin-inline:auto;padding:0;
  display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);
  grid-template-areas:"hud hud" "nav main";border:0;overflow:hidden;background:#102431;
 }
 .game-shell.has-home-chat{grid-template-rows:auto minmax(0,1fr) 32px;grid-template-areas:"hud hud" "nav main" "nav chat"}
 .game-shell .game-hud{
  grid-area:hud;position:relative;inset:auto;z-index:40;min-width:0;min-height:0;height:auto;max-height:none;overflow:visible;
  display:grid;grid-template-columns:48px minmax(150px,1fr) minmax(260px,1.2fr) 76px;grid-template-rows:30px 20px 28px;
  align-items:center;gap:4px 12px;padding:8px 14px;background:linear-gradient(110deg,#243a49,#172c3a);border:0;border-bottom:1px solid #466171;box-shadow:0 3px 12px #08192340;
 }
 .game-shell .desktop-club-brand{display:none}
 .game-shell .club-profile,.game-shell .club-profile-info,.game-shell .club-level-row{display:contents}
 .game-shell .club-emblem{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:48px;height:50px;min-width:0;min-height:0;padding:0;margin:0;border:0;box-shadow:none;align-self:center}
 .game-shell .club-emblem .crest{width:46px;height:49px;max-width:100%;max-height:100%}
 .game-shell .club-profile-name{grid-area:1/2/2/3;display:block;min-width:0;padding:0;margin:0;max-height:none;font:500 22px/1.15 Oswald,sans-serif;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:left;letter-spacing:.2px}
 .game-shell .header-club-level{grid-area:2/2/3/3;display:flex;flex-direction:row;align-items:center;gap:6px;justify-self:start;width:auto;max-width:100%;padding:0;font-size:10px;white-space:nowrap}
 .game-shell .header-club-level small{display:inline;font-size:10px;line-height:1;margin:0;color:#cfb96d}
 .game-shell .header-club-level b{font-size:12px}
 .game-shell .club-xp-bar{grid-area:2/2/3/3;display:block;justify-self:end;width:calc(100% - 142px);min-width:50px;height:14px;margin:0;border-radius:4px}
 .game-shell .club-xp-caption{font-size:8px;line-height:12px;gap:3px}
 .game-shell .club-xp-caption>.icon{width:10px;height:10px}
 .game-shell .currency-bar{grid-area:1/3/3/4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 36px;align-items:center;gap:10px;min-width:0;min-height:0;height:100%;padding:0;background:none;border:0}
 .game-shell .currency-bar>.hud-resource{min-width:0;display:flex;gap:6px;padding:0}
 .game-shell .currency-bar .hud-resource>.icon{width:18px;height:18px;flex:none}
 .game-shell .currency-bar .hud-resource>div{min-width:0;display:flex;flex-direction:column;gap:2px}
 .game-shell .currency-bar .hud-resource strong{font-size:20px;line-height:1.2;white-space:nowrap;letter-spacing:0;overflow:visible;text-overflow:clip}
 .game-shell .currency-bar .hud-resource small{font-size:8px;line-height:1.2;letter-spacing:0;white-space:nowrap}
 .game-shell .hud-resource .hud-cap{display:none}
 .game-shell .hud-fans-caption b{display:inline;margin-left:3px}
 .game-shell .currency-bar>.shop-button{width:36px;height:38px;min-width:0;margin:0;grid-column:4;grid-row:1;border-radius:8px}
 .game-shell .hud-actions{grid-area:1/4/3/5;position:static;inset:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;width:auto;margin:0}
 .game-shell .hud-actions>.hud-mail,.game-shell .hud-actions>.hud-settings{display:grid;place-items:center;position:relative;inset:auto;width:34px;height:34px;min-width:34px;padding:6px;border-radius:7px}
 .game-shell .hud-actions .icon{width:21px;height:21px}
 .game-shell .header-team-power{grid-area:3/1/4/3;display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0;width:calc(100% - 82px);margin:0;height:26px}
 .game-shell .header-team-power>button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:0;height:26px;padding:3px 6px;font-size:13px;border-radius:5px;background:#142c3b;border-color:#45616c}
 .game-shell .header-team-power>button>.icon{width:14px;height:14px}
 .game-shell .header-efficiency{grid-area:3/1/4/3;justify-self:end;display:flex;align-items:center;gap:5px;width:76px;min-height:0;height:26px;margin:0;padding:3px 7px;border-radius:5px;background:#244148}
 .game-shell .header-efficiency b[data-compact]{font-size:16px;line-height:1}
 .game-shell .header-efficiency small{font-size:8px}
 .game-shell .hud-utilities{grid-area:3/3/4/5;display:flex;align-items:center;gap:8px;min-width:0;height:28px}
 .game-shell .energy-bar{flex:0 0 132px;position:relative;display:flex;width:132px;min-width:0;height:26px;min-height:0;border:1px solid #57714d;border-radius:5px;overflow:hidden;margin:0;padding-right:25px}
 .game-shell .energy-bar>span{font-size:11px;gap:3px}
 .game-shell .energy-bar>span>.icon{width:13px;height:13px}
 .game-shell .energy-bar>button{width:25px}
 .game-shell .energy-bar>button>.icon{width:15px;height:15px}
 .game-shell .process-drawer{flex:none;min-width:0;margin:0;border:0;border-radius:5px;background:#243e4b}
 .game-shell .process-drawer>summary{min-height:26px;height:26px;gap:4px;padding:3px 7px;font-size:10px;white-space:nowrap}
 .game-shell .process-drawer>summary>span{display:none}
 .game-shell .process-drawer[open]>div{left:auto;right:0;width:min(370px,80vw);max-height:min(320px,65dvh);padding:8px;border-radius:8px}
 .game-shell .daily-strip{flex:1;justify-content:flex-end;min-width:0;min-height:26px;height:26px;gap:5px;padding:2px 6px;margin:0;border:0;border-radius:5px;background:#34453788;font-size:10px;overflow:hidden}
 .game-shell .daily-strip>span{min-width:0;white-space:nowrap;font-size:0;gap:0}
 .game-shell .daily-strip>span>.icon{width:14px;height:14px}
 .game-shell .daily-strip>b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .game-shell .daily-strip>.icon{width:11px;height:11px}
 .game-shell .challenge-alert{flex:none;min-height:26px;width:29px;height:26px;padding:5px;border-radius:5px;font-size:0;overflow:hidden}
 .game-shell .challenge-alert>.icon{flex:none;width:17px;height:17px}
 .game-shell .challenge-alert>.icon:last-child{display:none}
 .game-shell .challenge-alert{display:grid;place-items:center;padding:0;gap:0}
 .game-shell .challenge-alert>.challenge-alert-label{display:none}
 .game-shell .hud-notices{left:auto;right:12px;top:6px;width:min(500px,75%)}
 .game-shell>.game-main{grid-area:main;min-height:0;min-width:0;max-height:100%;height:100%;overscroll-behavior:contain;border:0}
 .game-shell>.game-nav{grid-area:nav;position:relative;inset:auto;transform:none;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;width:100%;max-width:none;height:100%;min-height:0;padding:12px 6px;border:0;border-right:1px solid #3b5363;background:linear-gradient(#1e3444,#122532);box-shadow:none;overflow-y:auto;scrollbar-width:thin;z-index:30}
 .game-shell .game-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:0 0 62px;height:62px;min-height:0;min-width:0;padding:6px 2px;font-size:10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#94aebb;box-shadow:none}
 .game-shell .game-nav button>.icon{width:23px;height:23px}
 .game-shell .game-nav button.active{background:#314954;border-color:#6a7253;color:#edca61;box-shadow:inset 3px 0 #e6c057}
 .game-shell>.home-chat-dock{grid-area:chat;display:flex;align-items:center;gap:12px;min-height:0;height:32px;max-height:32px;padding:3px 14px;border:0;border-top:1px solid #354f60;background:#152d3c;overflow:hidden}
 .game-shell .home-chat-heading{display:flex;align-items:center;gap:6px;height:auto;padding:0;font-size:10px;flex:none}
 .game-shell .home-chat-heading>span{display:none}
 .game-shell .home-chat-heading>.icon{width:14px;height:14px}
 .game-shell .home-chat-dock [data-chat-preview]{min-width:0;max-height:24px;flex:1}
 .game-shell .chat-preview-row{height:24px;line-height:20px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0}
 /* Map tools have their own surfaces, leaving the city free of floating menus. */
 .game-shell .city-page>.city-map{display:grid;grid-template-columns:minmax(0,1fr) var(--city-panel-width);grid-template-rows:minmax(0,1fr) 44px;flex:1 1 0;min-height:0;height:auto;max-height:none;overflow:hidden;border:0;border-radius:0;background:#162e3c}
 .game-shell .city-map>.city-viewport{grid-area:1/1/2/2;position:relative;inset:auto;min-width:0;min-height:0;width:100%;height:100%;background:#8cb9a1;mask-image:none;-webkit-mask-image:none}
 .game-shell .city-map .city-world{mask-image:none;-webkit-mask-image:none;margin-inline:auto}
 .game-shell .city-map>.city-vignette,.game-shell .city-map>.map-hint{display:none}
 .game-shell .city-map>.city-sidebar{grid-area:1/2/3/3;display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 10px;border-left:1px solid #415d69;background:linear-gradient(160deg,#263e4b,#19313f);scrollbar-width:thin}
 .game-shell .city-sidebar .city-task-buttons{position:static;inset:auto;display:flex;flex-direction:column;gap:8px;width:100%;max-width:none;flex:none}
 .game-shell .city-sidebar .city-task-buttons>button{position:relative;inset:auto;display:block;flex:none;width:100%;min-height:40px;padding:7px 8px;margin:0;border:1px solid #68764f;border-radius:7px;background:#344735;box-shadow:none;font-size:10px}
 .game-shell .city-sidebar .city-shortcuts{position:static;inset:auto;display:flex;flex-direction:column;gap:8px;margin:0;padding:0;flex:none;width:100%}
 .game-shell .city-sidebar .city-shortcut{--action-art-size:38px;position:relative!important;inset:auto!important;display:flex;align-items:center;gap:8px;flex:none;width:100%!important;height:52px!important;padding:6px!important;border:1px solid #536e7b;border-radius:9px;background:#1a3342;box-shadow:0 2px 5px #081f2922;color:#dfe9eb;transform:none}
 .game-shell .city-sidebar .city-shortcut>svg:first-child{display:block;flex:none;width:var(--action-art-size);height:var(--action-art-size);padding:3px;border-radius:50%;background:#dae8dd;visibility:visible}
 .game-shell .city-sidebar .city-shortcut>span{display:block;position:static;inset:auto;transform:none;white-space:nowrap;max-width:none;min-width:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font:500 11px/1.2 Arial,sans-serif!important;box-shadow:none}
 .game-shell .city-sidebar .activity-button>.activity-ring{inset:auto;left:5px;top:calc(50% - var(--action-art-size)/2 - 1px);width:calc(var(--action-art-size) + 2px);height:calc(var(--action-art-size) + 2px)}
 .game-shell .city-sidebar .activity-button.is-active{border-color:#cbb264;background:#29454c;box-shadow:none}
 .game-shell .city-sidebar .activity-button.is-active>.activity-art{visibility:hidden}
 .game-shell .city-sidebar .activity-button>.activity-countdown{inset:auto;left:6px;top:calc(50% - var(--action-art-size)/2);width:var(--action-art-size);height:var(--action-art-size);font-size:11px}
 .game-shell .city-sidebar .activity-button.is-blocked{background:#203844;border-color:#3a5866;box-shadow:none;color:#a9bfc8;filter:none}
 .game-shell .city-sidebar .activity-button.is-blocked>.activity-art{opacity:.65;background:#b2c8c3;filter:saturate(.6)}
 .game-shell .city-sidebar .activity-button.is-blocked>.activity-lock{inset:auto;left:31px;bottom:4px;width:17px;height:17px}
 .game-shell .city-sidebar .city-campaign{border-color:#586d72;background:#304450}
 .game-shell .city-sidebar .shortcut-badge{top:-3px;right:-3px;font-size:10px;width:17px;height:17px}
 .game-shell .city-sidebar .city-rewards{display:none}
 .game-shell .city-map>.city-dynamic{grid-area:2/1/3/2;position:relative;inset:auto;min-width:0;min-height:0;padding:5px 8px;border-top:1px solid #47606b;background:#203b48;pointer-events:auto}
 .game-shell .city-map .city-map-toolbar{display:grid;grid-template-columns:auto 32px minmax(0,1fr) auto;gap:7px;align-items:center;justify-content:stretch;min-height:0;height:100%;margin:0;padding:0}
 .game-shell .city-map .city-map-toolbar>.btn{height:32px;min-height:32px;min-width:0;padding:4px 9px;gap:5px;font-size:11px;border-radius:6px;box-shadow:none}
 .game-shell .city-map .city-map-toolbar>.btn>.city-action-label{display:inline}
 .game-shell .city-map .city-map-toolbar>.btn:not(.taskbar-rewards)>.icon{display:block;width:15px;height:15px}
 .game-shell .city-map .city-map-toolbar>.taskbar-rewards{display:flex;position:relative;padding:5px}
 .game-shell .city-map .city-map-toolbar>.btn[data-action="collect-all"]{justify-self:start;background:#52614a;border-color:#a0a273;color:#f4df99}
 .game-shell .city-map .city-map-toolbar>.map-controls{height:32px;position:static;border-radius:6px;background:#142f3d;box-shadow:none;backdrop-filter:none}
 .game-shell .city-map .city-map-toolbar .map-controls>button{width:31px;height:30px;min-height:30px;font-size:21px}
 .game-shell .city-map .map-marker{max-width:22%}
 .game-shell .city-map .map-label{padding:4px 7px;background:#1e3b45ef;border-color:#d0dfc399}
 .game-shell .city-map .map-label>b{font-size:11px}
 .game-shell .city-map .map-label>small{font-size:8px}
 #toasts{left:50%;max-width:min(500px,80vw)}
 .game-shell .inner-page{--pane-inset:12px;padding-inline:12px}
 .game-shell .team-page.inner-page{--pane-inset:0px;padding-inline:0}
 .game-shell .connection-status:empty{display:none}
 .game-shell .team-tabs,.game-shell .activity-back,.game-shell .contest-tabs{position:sticky;top:0;z-index:29;margin-bottom:0}
 .game-shell .team-tabs>button{min-height:var(--section-tabs-height);height:var(--section-tabs-height);padding:5px;font-size:16px;line-height:1.2}
 .game-shell .player-strip{position:static;top:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:7px 10px;gap:6px}
 .game-shell .player-thumb{min-width:0;max-width:none;width:100%;height:70px;aspect-ratio:auto;overflow:hidden}
 .game-shell .player-thumb>.player-bust{width:100%;height:100%;max-height:100%;object-fit:contain}
 .game-shell .thumb-level{font-size:15px}
 .game-shell .player-card-workspace{grid-template-columns:90px minmax(0,1fr);gap:9px;padding:10px}
 .game-shell .training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .game-shell .training-card{min-width:0;margin:0}
 .game-shell .training-card h3{font-size:21px}
 .game-shell .campaign-intro{padding-block:14px}
 .game-shell .campaign-step-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;padding:4px 12px 14px}
 .campaign-tasks{align-content:start}.campaign-task{align-self:start}
 .game-shell .campaign-rewards{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
 .campaign-step-body>.team-note{grid-column:1/-1;margin:0}
 .campaign-task b{font-size:13px}
 .game-shell .campaign-step-toggle{min-height:62px;padding-inline:12px}
 .campaign-step-toggle b{font-size:16px}
 .modal-backdrop{height:var(--app-height,100dvh);top:var(--app-top,0px);padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left));overflow:hidden}
 .modal-backdrop>.modal,.modal-backdrop>.modal.wide{min-height:0;width:min(840px,100%);max-width:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain}
 .modal-backdrop>.craft-dialog-modal{height:100%;max-height:100%;overflow:hidden}
 .modal-heading{padding-right:34px}.modal-heading h2{font-size:26px}
 .cards-dialog-wallet>span{min-height:55px;padding-inline:10px;grid-template-columns:20px minmax(0,1fr)}
 .cards-dialog-wallet .icon{width:18px;height:18px}.cards-dialog-wallet b{font-size:21px}
 .cards-dialog-wallet small{font-size:9px;line-height:12px;min-height:12px}
}
/* A phone turned sideways gets the same composition with shorter controls. */
@media (min-width:640px) and (min-aspect-ratio:1/1) and (max-height:600px){
 .game-shell,.game-shell.has-home-chat{--rail-width:64px;--section-tabs-height:32px;--city-panel-width:132px}
 .game-shell .game-hud{grid-template-columns:38px minmax(155px,1fr) minmax(244px,1.2fr) 64px;grid-template-rows:24px 17px 24px;gap:3px 8px;padding:5px 9px}
 .game-shell .club-emblem{width:38px;height:42px}.game-shell .club-emblem .crest{width:37px;height:40px}
 .game-shell .club-profile-name{font-size:18px}
 .game-shell .header-club-level,.game-shell .header-club-level small{font-size:9px}
 .game-shell .club-xp-bar{width:calc(100% - 122px);min-width:35px;height:13px}
 .game-shell .currency-bar{gap:7px;grid-template-columns:repeat(3,minmax(0,1fr)) 30px}
 .game-shell .currency-bar .hud-resource{gap:4px}
 .game-shell .currency-bar .hud-resource>.icon{width:15px;height:15px}
 .game-shell .currency-bar .hud-resource strong{font-size:17px}
 .game-shell .currency-bar .hud-resource small{font-size:7px}
 .game-shell .currency-bar>.shop-button{width:30px;height:33px}
 .game-shell .hud-actions{gap:4px}.game-shell .hud-actions>.hud-mail,.game-shell .hud-actions>.hud-settings{width:30px;height:30px;min-width:30px;padding:5px}
 .game-shell .hud-actions .icon{width:19px;height:19px}
 .game-shell .header-team-power,.game-shell .header-team-power>button,.game-shell .header-efficiency{height:23px}
 .game-shell .header-team-power>button{font-size:12px}.game-shell .header-efficiency b[data-compact]{font-size:14px}
 .game-shell .hud-utilities{height:24px;gap:5px}.game-shell .energy-bar{flex-basis:104px;width:104px;height:23px}
 .game-shell .energy-bar>span{font-size:10px}.game-shell .energy-bar>button{width:23px}
 .game-shell .process-drawer>summary{height:23px;min-height:23px;font-size:9px;padding-inline:5px}
 .game-shell .daily-strip{height:23px;min-height:23px;padding-inline:4px;gap:3px}
 .game-shell .daily-strip>b{font-size:9px}
 .game-shell .game-nav{gap:4px;padding:7px 5px}
 .game-shell .game-nav button{flex-basis:47px;height:47px;gap:3px;font-size:8px;border-radius:7px}
 .game-shell .game-nav button>.icon{width:21px;height:21px}
 .game-shell.has-home-chat{grid-template-rows:auto minmax(0,1fr) 27px}
 .game-shell>.home-chat-dock{height:27px;max-height:27px;padding-inline:10px;gap:8px}
 .game-shell .home-chat-heading,.game-shell .chat-preview-row{font-size:10px}
 .game-shell .city-page>.city-map{grid-template-rows:minmax(0,1fr) 38px}
 .game-shell .city-map>.city-sidebar{padding:7px;gap:6px}
 .game-shell .city-sidebar .city-task-buttons{gap:6px}
 .game-shell .city-daily-tasks>span:first-child{font-size:9px;gap:3px}
 .game-shell .city-daily-tasks b{font-size:9px}
 .game-shell .city-sidebar .city-task-buttons>button{min-height:28px;padding:4px 7px;font-size:9px}
 .game-shell .city-sidebar .city-shortcuts{gap:5px}
 .game-shell .city-sidebar .city-shortcut{--action-art-size:28px;height:36px!important;padding:3px 5px!important;gap:6px;border-radius:6px}
 .game-shell .city-sidebar .city-shortcut>span{font-size:10px!important}
 .game-shell .city-sidebar .activity-button>.activity-ring{left:4px}
 .game-shell .city-sidebar .activity-button>.activity-countdown{left:5px;font-size:9px}
 .game-shell .city-sidebar .activity-button.is-blocked>.activity-lock{left:23px;bottom:1px;width:14px;height:14px}
 .game-shell .city-sidebar .city-login-calendar{height:32px!important}
 .game-shell .city-map>.city-dynamic{padding:3px 6px}
 .game-shell .city-map .city-map-toolbar{gap:5px}
 .game-shell .city-map .city-map-toolbar>.btn{font-size:10px;height:30px;min-height:30px;padding-inline:7px}
 .game-shell .city-map .city-map-toolbar>.map-controls{height:30px}
 .game-shell .city-map .city-map-toolbar .map-controls>button{width:29px;height:28px;min-height:28px}
 .game-shell .team-tabs>button{font-size:14px}
 .game-shell .activity-back{min-height:32px;padding-block:3px}
 .game-shell .campaign-step-body{display:block}
 .game-shell .campaign-rewards{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}
 .modal-backdrop>.modal{padding:14px}.modal-heading{margin-bottom:10px}.modal-heading h2{font-size:23px}.modal-heading p{font-size:12px;margin-top:4px}
 .modal-close{width:30px;height:30px;top:7px;right:7px}
}
/* Roster: six players in a compact selector; details and cards alongside. */
@media (min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell .screen-team:has(.roster-player-compact){display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
 .screen-team:has(.roster-player-compact)>.team-tabs{flex:none;position:relative}
 .screen-team:has(.roster-player-compact)>.connection-status{flex:none}
 .game-shell #team-panel:has(.roster-player-compact){flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:128px minmax(210px,.62fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 42px;grid-template-areas:"players player cards" "players actions cards";overflow:hidden}
 #team-panel>.player-strip{grid-area:players;min-width:0;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(48px,1fr));gap:6px;padding:8px;align-content:start;align-items:start;border-right:1px solid #365263;overflow-y:auto}
 #team-panel>.player-strip>.player-thumb{height:100%;min-height:48px;max-height:112px;width:100%}
 #team-panel>.player-strip .thumb-slots{font-size:8px;gap:2px;padding:2px}
 #team-panel>.player-strip .thumb-slots>.icon{width:10px;height:10px}
 #team-panel>.player-strip .thumb-level{font-size:14px}
 #team-panel>.player-strip .player-thumb>span{font-size:9px}
 #team-panel>.roster-player-compact{grid-area:player;align-content:start;grid-template-columns:46px minmax(0,1fr);gap:6px;padding:8px;min-height:0;overflow-y:auto;border-right:1px solid #365263}
 #team-panel>.roster-player-compact>.roster-portrait{width:46px;height:61px;align-self:start;border-width:2px}
 #team-panel>.roster-player-compact>.roster-portrait>span{font-size:7px;width:15px;padding:2px}
 #team-panel .roster-player-compact .roster-description h2{font-size:19px;line-height:21px;white-space:normal;overflow-wrap:anywhere}
 #team-panel .roster-player-compact .roster-description>p{font-size:9px;line-height:11px}
 #team-panel .roster-player-compact .roster-identity-row{flex-wrap:wrap;gap:2px;min-height:14px}
 #team-panel .roster-player-compact .player-edit-link{min-height:20px;font-size:9px}
 #team-panel .roster-player-compact .player-edit-link .icon{width:12px;height:12px}
 #team-panel .roster-player-compact .roster-power{margin-top:4px;gap:4px}
 #team-panel .roster-player-compact .roster-power>span{min-height:26px;padding:3px 4px;font-size:9px;flex-wrap:wrap;gap:2px}
 #team-panel .roster-player-compact .roster-power b{font-size:16px}
 #team-panel .roster-player-compact .roster-player-actions{gap:5px;grid-template-rows:52px;height:52px}
 #team-panel .roster-player-compact .roster-player-actions>.btn,#team-panel .roster-player-compact .roster-player-actions>.player-development{height:52px;min-height:52px;max-height:52px;padding:4px 5px!important;font-size:9px}
 #team-panel .compact-development>div:first-child{font-size:9px;white-space:normal}
 #team-panel .compact-development>.finish-job-button{min-width:32px;padding-inline:3px;font-size:10px}
 #team-panel .player-details-button{gap:2px}
 #team-panel .player-details-button>.icon{width:14px;flex:none}
 #team-panel>.player-bottom-actions{grid-area:actions;min-height:0;padding:4px 8px;gap:6px;border-right:1px solid #365263}
 #team-panel>.player-bottom-actions>button{min-height:32px;height:32px;padding:4px;font-size:13px;gap:5px}
 #team-panel>.player-bottom-actions>button>.icon{width:16px;height:16px}
 #team-panel>.player-card-workspace{grid-area:cards;min-height:0;min-width:0;grid-template-columns:75px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:7px;padding:9px 8px;overflow:hidden;align-content:stretch;align-items:stretch}
 #team-panel>.player-card-workspace>h3{font-size:11px;line-height:16px;margin:0;min-height:22px;align-self:center}
 #team-panel .active-card-rail,#team-panel .player-card-collection{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 #team-panel .active-card-slot{padding:6px 3px;margin-bottom:6px}
 #team-panel .active-card-rail .slot-picture{width:42px;height:46px}
 #team-panel .active-card-rail .slot-picture>.icon{width:29px;height:29px}
 #team-panel .player-inventory-row{margin-bottom:5px;gap:5px}
 #team-panel .player-card-open{gap:6px;padding:7px}
 #team-panel .player-card-open>.hockey-card-badge{width:30px;height:35px;border-width:2px}
 #team-panel .player-card-open small{font-size:12px}
 #team-panel .player-card-open b{font-size:10px;line-height:1.25}
 #team-panel .player-card-open em{font-size:9px}
 #team-panel .card-sell-inline{font-size:9px;padding:5px;min-width:0}
 #team-panel .player-card-collection>.empty-state{padding:14px 8px;min-height:0;margin:0}
 #team-panel .player-card-collection>.empty-state p{font-size:12px;line-height:1.5}
}
@media (min-width:1100px) and (min-aspect-ratio:1/1){
 .game-shell .staff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px}
 .staff-list>.hall-help,.staff-list>.staff-base-note{grid-column:1/-1}
 .game-shell .staff-card{margin:0;min-width:0}
 .game-shell .team-about-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px}
 .team-about-page>.about-identity-card,.team-about-page>.about-skill-entry,.team-about-page>.about-strength{grid-column:1/-1;margin:0}
 .game-shell .training-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .game-shell #team-panel:has(.roster-player-compact){grid-template-columns:170px minmax(280px,.65fr) minmax(0,1fr)}
}
/* Keep the scoreboard and ice together on a short, wide screen. */
@media (min-width:640px) and (min-aspect-ratio:1/1) and (max-height:600px){
 .game-shell .match-stage{display:grid;grid-template-columns:minmax(175px,.65fr) minmax(0,1fr);grid-template-areas:"caption caption" "score rink" "periods rink" "progress rink" "remaining rink";gap:5px 12px;padding:8px 0;align-content:start}
 .game-shell .match-stage>.eyebrow{grid-area:caption;font-size:9px;margin:0}
 .game-shell .match-stage>.scoreboard{grid-area:score;gap:5px;margin:0;padding:4px 0;min-width:0}
 .game-shell .match-stage .scoreboard-team{min-width:0;gap:3px}
 .game-shell .match-stage .scoreboard-team>.crest{width:30px;height:33px}
 .game-shell .match-stage .scoreboard-team b{font-size:10px;line-height:1.25;overflow-wrap:anywhere}
 .game-shell .match-stage .scoreboard-team small{font-size:7px}
 .game-shell .match-stage .scoreboard-number{font-size:29px;line-height:1.2;white-space:nowrap}
 .game-shell .match-stage .scoreboard-clock{font-size:8px}
 .game-shell .match-stage>.periods{grid-area:periods;margin:0;font-size:9px}
 .game-shell .match-stage>.hockey-rink{grid-area:rink;align-self:center;width:100%;height:auto;max-height:calc(var(--app-height,100dvh) - 150px);min-height:0;margin:0}
 .game-shell .match-stage>.match-progress{grid-area:progress;margin:0}
 .game-shell .match-stage>.match-remaining{grid-area:remaining;font-size:10px;margin:0}
}
.push-options .settings-row{gap:16px;margin:0;padding:12px 0;min-width:0}
.push-options input{width:21px;height:21px;accent-color:#e7c347;flex:none}
.push-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

@media(min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell .city-sidebar>.city-tutorial{position:absolute;top:10px;right:calc(var(--city-panel-width,160px) + 10px);width:148px}
 .game-shell .city-map:has(.city-tutorial:not([hidden])) .city-sidebar .city-login-calendar{inset:auto!important}
}

/* v58: landscape pages are compact documents, with bounded roster scrollers. */
@media(min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell>.game-main{overflow-y:auto;overflow-x:hidden;scroll-padding-top:40px}
 .game-shell>.game-main.city-page,.game-shell>.game-main.screen-locker{overflow:hidden}
 .game-shell .city-map .city-map-toolbar{grid-template-columns:auto auto minmax(0,1fr) auto}
 .game-shell .city-map .city-map-toolbar>.taskbar-rewards{padding-inline:8px;gap:5px}
 .game-shell .city-map .city-map-toolbar>.taskbar-rewards>.icon{width:15px;height:15px}
 /* align-self:start from the phone layout let these grow beyond the clipped grid. */
 .game-shell .screen-team:has(.roster-player-compact){overflow:hidden}
 .game-shell #team-panel:has(.roster-player-compact){flex:1 1 0;max-height:100%;grid-template-columns:112px minmax(190px,.6fr) minmax(0,1fr)}
 .game-shell #team-panel>.player-card-workspace{height:100%;max-height:100%;box-sizing:border-box;grid-template-columns:66px minmax(0,1fr);grid-template-rows:23px minmax(0,1fr);gap:5px;padding:6px}
 .game-shell #team-panel>.player-card-workspace>.active-card-rail,.game-shell #team-panel>.player-card-workspace>.player-card-collection{align-self:stretch;height:100%;max-height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:8px}
 .game-shell #team-panel .player-inventory-row{padding:3px;gap:3px;margin-bottom:4px;min-height:0}
 .game-shell #team-panel .player-card-open{padding:4px;gap:5px;min-height:42px}
 .game-shell #team-panel .player-card-open>.hockey-card-badge{width:24px;height:29px;flex:none}
 .game-shell #team-panel .player-card-open small{font-size:10px}.game-shell #team-panel .player-card-open b{font-size:10px}.game-shell #team-panel .player-card-open em{font-size:9px}
 .game-shell #team-panel .card-sell-inline{font-size:9px;padding:3px;min-height:30px}
 .game-shell #team-panel .active-card-slot{padding:4px 2px;margin-bottom:4px}.game-shell #team-panel .active-card-slot b{font-size:9px}.game-shell #team-panel .active-card-slot small{font-size:8px}
 .game-shell #team-panel .active-card-rail .slot-picture{width:32px;height:36px}
 .game-shell #team-panel .card-pagination{padding:5px 0;margin:5px 0;gap:3px}.game-shell #team-panel .card-pagination .btn{min-height:28px;padding:4px 7px}.game-shell #team-panel .card-pagination small{font-size:8px}
 /* Rankings: metrics share the team's row instead of forming a second card. */
 .game-shell .screen-leaders{display:grid;grid-template-columns:minmax(200px,1fr) minmax(260px,1fr);grid-auto-rows:max-content;gap:5px 12px;align-content:start;padding-top:8px}
 .screen-leaders>.connection-status:not(:empty){grid-column:1/-1}
 .screen-leaders>.ranking-controls{grid-column:1;grid-row:2;margin:0;align-self:center}
 .screen-leaders>.ranking-own{grid-column:2;grid-row:2;padding:7px 10px;gap:8px;min-height:0;flex-wrap:nowrap}
 .screen-leaders>.ranking-explainer{grid-column:1/-1;grid-row:3;margin:2px 0;font-size:10px}
 .screen-leaders>.ranking-list,.screen-leaders>.ranking-pagination,.screen-leaders>.notice,.screen-leaders>.empty-state{grid-column:1/-1;margin-block:4px}
 .game-shell .ranking-own b{font-size:21px;margin-top:2px}.game-shell .ranking-own>div{min-width:0}.game-shell .ranking-own>.text-btn{font-size:10px;white-space:nowrap}
 .game-shell .ranking-controls>label>small{margin-bottom:3px;font-size:8px}.game-shell .ranking-controls select,.game-shell .ranking-order{min-height:32px;height:32px;padding-block:4px}.game-shell .ranking-controls>.icon-btn{height:32px}
 .game-shell .ranking-clubs .ranking-club{grid-template-columns:24px 28px minmax(0,1fr) minmax(190px,.65fr);gap:7px;padding:6px 8px;margin-bottom:4px;min-height:48px}
 .game-shell .ranking-clubs .ranking-club>.crest{width:27px;height:30px}.game-shell .ranking-identity>b{font-size:12px}
 .game-shell .ranking-clubs .ranking-identity>.ranking-meta{gap:7px;font-size:9px;margin-top:2px}
 .game-shell .ranking-clubs .ranking-power-grid{grid-column:4;grid-row:1;margin:0;gap:4px}
 .game-shell .ranking-power{padding:4px 5px}.game-shell .ranking-power>strong{font-size:17px;margin-top:0}.game-shell .ranking-power>small{font-size:8px}
 /* Team summary: identity/skills alongside the two complete power columns. */
 .game-shell .team-about-page{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);align-items:start;gap:8px;padding:8px}
 .game-shell .team-about-page>.about-identity-card{grid-column:1;grid-row:1;margin:0;padding:8px;grid-template-columns:36px minmax(0,1fr) 28px;gap:6px}
 .game-shell .team-about-page .about-identity-card>.crest{width:36px;height:39px}.game-shell .team-about-page .about-identity-card h2{font-size:17px}.game-shell .team-about-page .about-identity-card>div>span{font-size:9px;flex-wrap:wrap;gap:3px}
 .game-shell .team-about-page .about-efficiency{padding-top:6px;margin:0;min-height:31px}.game-shell .team-about-page .about-efficiency>b{font-size:22px}
 .game-shell .team-about-page>.about-skill-entry{grid-column:1;grid-row:2;margin:0;padding:7px;gap:5px;align-self:start}
 .game-shell .team-about-page>.about-strength{grid-column:2;grid-row:1/4;margin:0}
 .game-shell .team-about-page>.club-statistics,.game-shell .team-about-page>.club-facts-details{grid-column:1/-1}
 .game-shell .team-about-page .team-power-columns>.power-column{padding:8px}.game-shell .team-about-page .power-column-total{flex-direction:row;align-items:center;justify-content:space-between;gap:5px}
 .game-shell .team-about-page .power-column-total>b{font-size:25px}.game-shell .team-about-page .power-source-list{margin-top:7px}.game-shell .team-about-page .power-source-list>div{padding:5px 0;min-height:0;font-size:11px}
 .game-shell .team-about-page .power-source-list dt,.game-shell .team-about-page .power-source-list dd{font-size:11px}.game-shell .team-about-page .power-explanation summary{padding:7px 9px;font-size:10px}
 .game-shell .staff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.game-shell .staff-list>.hall-help,.game-shell .staff-list>.staff-base-note{grid-column:1/-1;margin:0}
 .game-shell .staff-card{min-width:0;margin:0;padding:8px;grid-template-columns:55px minmax(0,1fr)}.game-shell .staff-portrait{width:55px;height:65px}.game-shell .staff-copy>h3{font-size:17px}.game-shell .staff-copy>p{font-size:11px}
 .game-shell .league-page-bar{min-height:32px;height:32px;padding-block:4px}.game-shell .league-tabs{top:32px;display:flex;gap:5px;padding:5px 8px}.game-shell .league-tabs-row{flex:1}.game-shell .league-tabs-row>button{min-height:30px;padding:4px 3px;font-size:10px;gap:3px}.game-shell .league-tabs-row>button>.icon{width:12px;height:12px}
 .game-shell .league-content{padding:8px}.game-shell .league-hero{padding:8px;margin-bottom:8px}.game-shell .league-hero h2{font-size:23px}
 .game-shell .section-head{margin-block:8px}.game-shell .section-head h2{font-size:23px}.game-shell .notice{padding:8px;font-size:11px;line-height:1.4;margin-block:8px}
 .game-shell .competition-toolbar{margin:6px 0}.game-shell .competition-explainer{margin:6px 0;font-size:10px;line-height:1.4}
 .game-shell .competition-card{margin:8px 0}.game-shell .competition-card>header{padding:8px 10px}.game-shell .competition-card h2{font-size:20px}.game-shell .competition-own{padding:7px 10px}.game-shell .competition-own b{display:inline;margin-left:7px;font-size:20px}.game-shell .competition-prizes{padding:7px}.game-shell .competition-prizes b{width:auto;margin:0 5px 0 0}.game-shell .competition-row{padding:7px 10px}
 .game-shell .training-card{padding:10px}.game-shell .training-card h3{font-size:19px}.game-shell .training-card p{font-size:11px;line-height:1.4}.game-shell .training-meta{gap:8px;margin-block:8px}.game-shell .training-offers-toolbar{margin-block:8px}
 .game-shell .campaign-intro{padding-block:8px}.game-shell .campaign-step-toggle{min-height:43px}.game-shell .campaign-step-body{padding:5px 10px 10px}.game-shell .campaign-task{padding:7px}.game-shell .campaign-rewards .btn{min-height:30px}
 .game-shell .activity-back,.game-shell .contest-tabs{min-height:32px}.game-shell .contest-tabs>button{padding:6px;font-size:14px}
 .game-shell .cup-tabs>button{min-height:32px;padding:6px;font-size:13px}.game-shell .cup-table th,.game-shell .cup-table td{padding:6px;font-size:11px}
 .game-shell .hall-content{padding:8px}.game-shell .hall-tabs>button{padding:6px;font-size:13px}
}
@media(min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell>.game-main.conversation-page{overflow:hidden}
 .game-shell .city-map .city-map-toolbar{grid-template-columns:auto auto minmax(0,1fr) auto}
 .game-shell .city-map .city-map-toolbar>.btn>.city-action-label{display:inline;font-size:11px}
 .game-shell .city-map .city-map-toolbar>.btn>.icon{display:block!important;width:15px;height:15px}
 .game-shell .statistics-head{padding:8px;gap:8px}.game-shell .statistics-head h3{font-size:18px}.game-shell .statistics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.game-shell .statistics-grid>div{padding:7px}.game-shell .statistics-grid b{font-size:20px}
}

/* v59: dedicated workspaces for contests, staff and the compact equipment view. */
@media(min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell>.screen-competitions{display:flex;flex-direction:column;overflow:hidden;padding:8px;gap:8px}
 .screen-competitions>.connection-status{flex:none}
 .game-shell .competition-controls{display:flex;align-items:center;gap:10px;margin:0;flex:none;min-width:0}
 .game-shell .competition-controls>.competition-toolbar{display:flex;gap:6px;margin:0;flex:none;width:auto}
 .game-shell .competition-controls>.competition-metric-tabs{flex:1;min-width:0;margin:0}
 .game-shell .competition-controls .segmented button{padding:7px 10px;min-height:32px;font-size:11px;white-space:nowrap}
 .game-shell .competition-controls .icon-btn{flex:none;width:32px;height:32px;padding:6px}.game-shell .competition-controls .icon-btn>.icon{width:18px;height:18px}
 .game-shell .screen-competitions>.competition-card{flex:1 1 0;min-height:0;min-width:0;display:grid;grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);gap:0;overflow:hidden;margin:0;border-radius:9px}
 .game-shell .competition-summary{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:linear-gradient(140deg,#253f4c,#18303d);border-right:1px solid #45606b;scrollbar-width:thin}
 .game-shell .competition-summary>header{display:grid;grid-template-columns:26px minmax(0,1fr);gap:6px 8px;padding:0 0 10px;background:none;border-bottom:1px solid #64818c44}
 .game-shell .competition-summary>header h2{font-size:21px;line-height:1.15;margin:0}.game-shell .competition-summary>header p{font-size:9px;line-height:1.4;margin:4px 0 0;color:#a6bec5}
 .game-shell .competition-summary>header>span{grid-column:1/-1;font-size:20px;color:#e5cb84}
 .game-shell .competition-summary .competition-own{margin:10px 0;padding:8px;border-radius:7px;background:#36524966;font-size:10px;gap:8px}
 .game-shell .competition-summary .competition-own b{display:block;margin:4px 0 0;font-size:23px;line-height:1.2}
 .game-shell .competition-summary .competition-prizes{display:grid;gap:6px;padding:6px 0;border:0}
 .game-shell .competition-summary .competition-prizes>span{display:flex;justify-content:flex-start;flex-wrap:nowrap;font-size:11px;gap:5px;min-width:0}
 .game-shell .competition-summary .competition-prizes b{margin:0 auto 0 0;width:auto;font-size:10px}.game-shell .competition-summary .competition-note{font-size:10px;line-height:1.45;padding:8px 0 0;margin:0}
 .game-shell .competition-table{min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;background:#112a38}
 .game-shell .competition-table .competition-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;padding:9px 12px;min-height:42px;font-size:12px}.game-shell .competition-row>span{line-height:1.3}.game-shell .competition-row>strong{font-size:20px}
 .game-shell .competition-empty{align-self:center;padding:24px;font-size:12px;line-height:1.6}
 /* The four specialists stay visible in a selector; only the chosen sheet opens. */
 .game-shell>.screen-team:has(.staff-picker){display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
 .screen-team:has(.staff-picker)>.team-tabs{position:relative;flex:none}.screen-team:has(.staff-picker)>.connection-status{flex:none}
 .game-shell #team-panel:has(.staff-picker){flex:1 1 0;min-height:0;overflow:hidden}
 .game-shell .staff-list:has(.staff-picker){display:grid;grid-template-columns:minmax(175px,.4fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;min-height:0;gap:10px;padding:10px;overflow:hidden;box-sizing:border-box}
 .game-shell .staff-list>.hall-help,.game-shell .staff-list>.team-note,.game-shell .staff-list>.staff-base-note{display:none}
 .game-shell .staff-picker{display:flex;flex-direction:column;gap:6px;grid-column:1;grid-row:1;min-height:0;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;padding:1px}
 .game-shell .staff-picker>button{display:flex;align-items:center;gap:8px;text-align:left;flex:none;width:100%;padding:6px;border:1px solid #405e6c;border-radius:8px;background:#193443;color:#c7d8db;min-height:48px}
 .game-shell .staff-picker>button[aria-pressed=true]{border-color:#d1b86d;background:linear-gradient(100deg,#40504a,#233d45);box-shadow:inset 3px 0 #e0c373}
 .game-shell .staff-picker-portrait{width:34px;height:38px;border-radius:5px;overflow:hidden;flex:none;background:#183444}
 .game-shell .staff-picker>button>span:nth-child(2){min-width:0;flex:1}.game-shell .staff-picker b{display:block;font:500 13px/1.2 Oswald,sans-serif;white-space:normal}.game-shell .staff-picker small{display:block;font-size:9px;margin-top:4px;color:#adc2c2}
 .game-shell .staff-picker>button>.icon{width:13px;height:13px;flex:none}.game-shell .staff-picker>.staff-picker-help{min-height:30px;justify-content:center;font-size:10px;background:none;border-color:transparent;margin-top:auto}
 .game-shell .staff-list>.staff-card{display:none}
 .game-shell .staff-list>.staff-card[data-selected=true]{grid-column:2;grid-row:1;display:grid;grid-template-columns:64px minmax(0,1fr);grid-auto-rows:max-content;align-content:start;align-items:start;gap:12px;min-height:0;height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0;padding:14px;border:1px solid #45636f;border-radius:10px;background:linear-gradient(140deg,#264451,#162f3d)}
 .game-shell .staff-card[data-selected=true]>.staff-portrait{width:64px;height:74px;grid-column:1;grid-row:1;box-shadow:none}
 .game-shell .staff-card[data-selected=true]>.staff-copy{grid-column:2;grid-row:1}.game-shell .staff-card[data-selected=true] h3{font-size:23px;line-height:1.2;flex-wrap:wrap;justify-content:flex-start;gap:8px}.game-shell .staff-card[data-selected=true] h3>small{font-size:11px;padding:4px 6px;border-radius:4px;background:#102a38}
 .game-shell .staff-card[data-selected=true] .staff-copy>p{font-size:12px;line-height:1.45;margin-top:7px}.game-shell .staff-card[data-selected=true] .staff-effect{font-size:12px;margin-top:8px}.game-shell .staff-card[data-selected=true] .staff-effect>b{font-size:17px;color:#e1d18b}
 .game-shell .staff-card[data-selected=true]>.staff-card-action{grid-column:1/-1;display:flex;justify-content:flex-start;gap:12px;flex-wrap:wrap;padding:9px 0;border-block:1px solid #67828a33;margin:0}.game-shell .staff-card[data-selected=true] .staff-card-action>.btn{min-height:34px;font-size:12px;padding:7px 12px}
 .game-shell .staff-card[data-selected=true]>.tactics{grid-column:1/-1;margin:0;padding:0;border:0}.game-shell .staff-card .tactics-head b{font-size:16px}.game-shell .staff-card .tactic-preview{gap:8px}.game-shell .staff-card .tactic-preview>span{padding:6px;font-size:11px}.game-shell .staff-card .tactic-preview b{font-size:18px}.game-shell .staff-card .tactics>.team-note{font-size:10px;line-height:1.4;margin-top:7px}
 /* Gear: purpose-built item cards, not floating locker labels without a scene. */
 .game-shell .screen-locker .base-equipment-stage{display:block;padding:8px;overflow:auto;scrollbar-width:thin;background:radial-gradient(at 50% 0,#264250,#102431 70%)}
 .game-shell .screen-locker .base-equipment-stage>.scene-loader{display:none}
 .game-shell .screen-locker .base-equipment-stage .locker-scene{opacity:1}
 .game-shell .screen-locker .base-equipment-stage>.locker-scene-v24{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(85px,1fr));gap:8px;padding:0;margin:0;width:100%;max-width:none;height:100%;min-height:178px;aspect-ratio:auto;overflow:visible;box-shadow:none}
 .game-shell .screen-locker .locker-background,.game-shell .screen-locker .locker-club-mark{display:none}
 .game-shell .screen-locker .locker-scene-v24>.locker-gear{position:relative;inset:auto!important;width:100%!important;height:100%!important;min-width:0;min-height:85px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;align-items:center;gap:4px 9px;text-align:left;padding:9px 12px;border:1px solid #547382;border-radius:10px;background:linear-gradient(125deg,#2a4758,#192f3f);box-shadow:inset 0 1px #ffffff0a;overflow:hidden}
 .game-shell .screen-locker .locker-scene-v24>.locker-gear:hover,.game-shell .screen-locker .locker-scene-v24>.locker-gear:focus-visible{border-color:#e1c679;background:linear-gradient(125deg,#345462,#233e4b)}
 .game-shell .screen-locker .locker-scene-v24>.locker-gear.is-upgrading{border-color:#c7ad62;background:linear-gradient(125deg,#3e504a,#243d44)}
 .game-shell .screen-locker .gear-card-art{display:grid;place-items:center;grid-column:1;grid-row:1/3;width:42px;height:48px;background:#102b3966;border:1px solid #87a6b126;border-radius:8px}.game-shell .equipment-art{width:36px;height:36px;display:block}
 .game-shell .screen-locker .locker-scene-v24 .equipment-tag{position:static;inset:auto;transform:none;grid-column:2;grid-row:1;width:auto;max-width:none;min-height:0;padding:0;border:0;background:none;box-shadow:none;text-align:left;white-space:normal}
 .game-shell .screen-locker .locker-scene-v24 .equipment-tag>b{font:500 19px/1.1 Oswald,sans-serif}.game-shell .screen-locker .locker-scene-v24 .equipment-tag>small{justify-content:flex-start;font-size:10px;margin-top:4px;color:#bdcbd0}
 .game-shell .screen-locker .gear-card-bonus{display:flex;align-items:center;gap:9px;grid-column:2;grid-row:2;font-size:11px;font-variant-numeric:tabular-nums}.gear-card-bonus>span{display:flex;align-items:center;gap:3px;color:#e4c588}.gear-card-bonus>span+span{color:#b5d3a4}.gear-card-bonus .icon{width:12px;height:12px}
 .game-shell .screen-locker .gear-card-status{display:flex;align-items:center;gap:4px;grid-column:1/-1;grid-row:3;padding-top:5px;margin-top:3px;border-top:1px solid #6e8b9533;color:#c4d6d9;font-size:10px}.gear-card-status>.icon{width:12px;height:12px}.gear-card-status>.icon:last-child{margin-left:auto;color:#e1c67e}
 .game-shell .screen-locker .gear-card-progress{position:absolute;inset:auto 0 0;display:block;height:3px;background:#0d2736}.gear-card-progress>i{display:block;height:100%;width:calc(var(--progress)*100%);background:#dfc477;transition:width .3s}
 .game-shell .screen-locker .building-page-bar{flex:none;min-height:38px;height:38px;padding:4px 10px}.game-shell .screen-locker .building-page-bar b{font-size:18px}.game-shell .screen-locker .building-page-bar small{font-size:9px}.game-shell .screen-locker .building-page-bar .btn{min-height:30px;padding:5px 9px;font-size:11px}
 .game-shell .screen-locker .locker-bottom{min-height:25px;padding:5px 10px;font-size:10px}
}
@media(min-width:640px) and (min-aspect-ratio:1/1) and (max-height:440px){
 .game-shell .staff-list:has(.staff-picker){grid-template-columns:174px minmax(0,1fr);gap:7px;padding:7px}.game-shell .staff-picker>button{min-height:41px;padding:4px;gap:6px}.game-shell .staff-picker-portrait{width:29px;height:32px}.game-shell .staff-picker b{font-size:12px}.game-shell .staff-picker small{font-size:8px;margin-top:2px}
 .game-shell .staff-list>.staff-card[data-selected=true]{padding:10px;gap:8px;grid-template-columns:48px minmax(0,1fr)}.game-shell .staff-card[data-selected=true]>.staff-portrait{width:48px;height:56px}.game-shell .staff-card[data-selected=true] h3{font-size:20px}.game-shell .staff-card[data-selected=true] .staff-copy>p{font-size:11px;margin-top:4px}
 .game-shell .competition-summary{padding:9px}.game-shell .competition-summary>header h2{font-size:18px}.game-shell .competition-summary .competition-own{margin:7px 0}.game-shell .competition-summary .competition-note{font-size:9px}
 .game-shell .screen-locker .locker-scene-v24>.locker-gear{padding:7px 9px;gap:3px 7px}.game-shell .screen-locker .locker-scene-v24 .equipment-tag>b{font-size:17px}
}

/* The shop shares a fixed, compact header; each section owns its scrolling. */
@media(min-width:640px) and (min-aspect-ratio:1/1){
 .modal-backdrop>.cards-dialog-modal{display:flex;flex-direction:column;width:min(980px,100%);height:100%;max-height:100%;padding:0;overflow:hidden;scroll-padding:0}
 .cards-dialog-modal>.modal-close{position:absolute;top:8px;right:8px;float:none;margin:0;width:30px;height:30px;padding:5px}
 .cards-dialog-modal .cards-dialog-header{position:relative;flex:none;margin:0;padding:8px 12px 0}
 .cards-dialog-modal .cards-dialog-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:35px;min-height:43px}
 .cards-dialog-modal .modal-heading{padding:0;margin:0;min-width:130px}.cards-dialog-modal .modal-heading h2{font-size:22px;line-height:1.2}.cards-dialog-modal .modal-heading .eyebrow{display:none}
 .cards-dialog-modal .cards-dialog-wallet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:1;max-width:470px;margin:0}
 .cards-dialog-modal .cards-dialog-wallet>span{min-width:0;min-height:36px;padding:3px 6px;grid-template-columns:14px minmax(0,1fr);column-gap:4px}
 .cards-dialog-modal .cards-dialog-wallet .icon{width:14px;height:14px}.cards-dialog-modal .cards-dialog-wallet b{font-size:16px;line-height:18px;overflow:hidden;text-overflow:ellipsis}.cards-dialog-modal .cards-dialog-wallet small{min-height:10px;line-height:10px;font-size:8px;white-space:nowrap}
 .cards-dialog-modal .cards-dialog-tabs{margin-top:5px}.cards-dialog-modal .cards-dialog-tabs>button{min-height:30px;padding:6px;font-size:12px}.cards-dialog-modal .cards-dialog-tabs>button>.icon{width:14px;height:14px}
 .cards-dialog-modal .cards-dialog-content{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 12px 12px;touch-action:pan-y}
 .cards-dialog-modal .activity-crystals-info{margin:0 0 7px}.cards-dialog-modal .activity-crystals-info>summary{min-height:24px;font-size:10px}.cards-dialog-modal .activity-crystals-info>p{font-size:11px;line-height:1.5;max-height:70px;overflow:auto}
 .cards-dialog-modal .collection-capacity{margin:5px 0 8px;font-size:10px}
 .cards-dialog-modal .legendary-promotion{padding:10px;margin-bottom:8px}.cards-dialog-modal .legendary-promotion h3{font-size:21px}.cards-dialog-modal .legendary-promotion .promotion-body{margin:7px 0;gap:9px}.cards-dialog-modal .promotion-body>.hockey-card-badge{width:38px;height:46px}.cards-dialog-modal .promotion-copy{font-size:10px}
 .cards-dialog-modal .legendary-promotion.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:6px 16px;align-items:center}
 .cards-dialog-modal .legendary-promotion.active>.promotion-heading{grid-column:1/-1}.cards-dialog-modal .legendary-promotion.active>.promotion-body{grid-column:1;grid-row:2}.cards-dialog-modal .legendary-promotion.active>.promotion-copy{grid-column:1;grid-row:3;margin:0}
 .cards-dialog-modal .legendary-offer-slots{grid-column:2;grid-row:2/4;gap:6px;margin:0}.cards-dialog-modal .legendary-offer-slot{padding:8px 4px;gap:5px}.cards-dialog-modal .legendary-offer-slot>b{font-size:18px}
 .cards-dialog-modal .pack-currency-picker{padding:5px 0 9px;font-size:11px}.cards-dialog-modal .pack-currency-picker .segmented button{min-height:30px;padding:6px 10px;font-size:11px}
 .cards-dialog-modal .shop-pack-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}.cards-dialog-modal .shop-pack-list{display:contents}
 .cards-dialog-modal .shop-free,.cards-dialog-modal .shop-pack{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:minmax(65px,1fr) auto;gap:6px 9px;min-width:0;margin:0;padding:10px}
 .cards-dialog-modal .shop-pack-illustration,.cards-dialog-modal .shop-free>.pack-brand{grid-column:1;grid-row:1;align-self:center}.cards-dialog-modal .shop-pack-illustration>.pack-brand,.cards-dialog-modal .shop-free>.pack-brand{width:44px;height:60px}
 .cards-dialog-modal .shop-pack-copy{grid-column:2;grid-row:1}.cards-dialog-modal .shop-pack-copy h3,.cards-dialog-modal .shop-free h3{font-size:19px;margin:0}.cards-dialog-modal .shop-pack-copy p,.cards-dialog-modal .shop-free p{font-size:10px;line-height:1.4;margin:5px 0}.cards-dialog-modal .shop-pack-copy>span{font-size:9px}
 .cards-dialog-modal .shop-pack-buy,.cards-dialog-modal .shop-free>.btn{grid-column:1/-1;grid-row:2;min-height:32px;padding:6px 9px!important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;font-size:11px}.cards-dialog-modal .shop-pack-buy>b{font-size:17px}.cards-dialog-modal .shop-pack-buy>span{text-align:right;font-size:10px}
 .cards-dialog-modal .rarity-guide{margin:10px 0;font-size:10px}.cards-dialog-modal .notice,.cards-dialog-modal .pack-odds{font-size:11px;line-height:1.5}.cards-dialog-modal .notice{padding:9px;margin:8px 0}
 .cards-dialog-modal .currency-test-note{font-size:10px;padding:2px 0 8px}.cards-dialog-modal .currency-campaign{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;text-align:left;padding:10px 12px;margin:0 0 10px}
 .cards-dialog-modal .currency-campaign>span,.cards-dialog-modal .currency-campaign>small{justify-content:flex-start}.cards-dialog-modal .currency-campaign>strong{grid-column:2;grid-row:1/4;margin:0;font-size:36px}.cards-dialog-modal .currency-campaign>p,.cards-dialog-modal .currency-campaign>small{grid-column:1;margin:0;font-size:10px}.cards-dialog-modal .currency-campaign.inactive>b{font-size:20px}
 .cards-dialog-modal .currency-section-heading{margin:9px 0 6px}.cards-dialog-modal .currency-section-heading h3{font-size:18px}.cards-dialog-modal .currency-section-heading small{font-size:10px}
 .cards-dialog-modal .currency-bundles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cards-dialog-modal .currency-bundle{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:8px}.cards-dialog-modal .currency-bundle-art{min-height:30px}.cards-dialog-modal .currency-bundle-art>.icon{width:22px;height:27px}.cards-dialog-modal .currency-bundle-art>.icon+.icon{margin-left:-17px}.cards-dialog-modal .currency-bundle-copy b{font-size:24px}.cards-dialog-modal .currency-bundle-copy small,.cards-dialog-modal .currency-bundle-copy span{font-size:9px}
 .cards-dialog-modal .currency-bundle>.btn{grid-column:1/-1;min-height:30px;padding:6px;flex-direction:row;font-size:11px;gap:6px}
 /* Craft controls use the left column; the card list gets all available height. */
 .modal-backdrop>.craft-dialog-modal .cards-dialog-content{display:flex;flex-direction:column;overflow:hidden;padding-bottom:7px}
 .craft-dialog-modal .craft-workbench{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,1.3fr);grid-template-rows:minmax(0,1fr) auto;gap:8px 12px;overflow:hidden}
 .craft-dialog-modal .craft-recipe-panel{display:flex;flex-direction:column;gap:8px;grid-column:1;grid-row:1;min-height:0;overflow:auto;scrollbar-width:thin}
 .craft-dialog-modal .craft-recipes{display:grid;grid-template-columns:1fr;gap:5px}.craft-dialog-modal .craft-recipes>button{min-height:30px;white-space:normal}
 .craft-dialog-modal .craft-summary{display:flex;flex-direction:column;align-items:flex-start;padding:7px;gap:7px}.craft-dialog-modal .craft-summary strong{font-size:13px}.craft-dialog-modal .craft-slots>span{width:23px;min-height:26px}
 .craft-dialog-modal .craft-library-panel{display:flex;flex-direction:column;grid-column:2;grid-row:1/3;min-height:0;overflow:hidden;gap:5px}.craft-dialog-modal .craft-source{grid-template-columns:repeat(3,minmax(0,1fr));min-height:50px}.craft-dialog-modal .craft-source-card{min-height:57px;padding:5px}.craft-dialog-modal .craft-source-card b{font-size:10px}
 .craft-dialog-modal .card-pagination{flex:none;padding:3px 0;min-height:29px}.craft-dialog-modal .card-pagination>.btn{min-height:28px;min-width:30px;padding:3px}.craft-dialog-modal .card-pagination>span{font-size:10px}.craft-dialog-modal .card-pagination small{display:none}
 .craft-dialog-modal .craft-footer{grid-column:1;grid-row:2;min-width:0}.craft-dialog-modal .craft-confirm-bar{display:grid;grid-template-columns:1fr auto;gap:4px;padding:5px 0}.craft-dialog-modal .craft-confirm-bar>.btn{grid-column:1/-1;min-height:32px;padding:7px}.craft-dialog-modal .craft-confirm-bar>.text-btn{min-height:26px;font-size:10px}.craft-dialog-modal .craft-missing{font-size:10px;margin:3px 0}.craft-dialog-modal .craft-limit{display:none}
 /* Related shop dialogs: reveal, promotion, receipt and legendary workshop. */
 .modal-backdrop>.modal[data-dialog="pack-reveal"]{display:flex;flex-direction:column;height:100%;padding:12px;overflow:hidden}
 [data-dialog="pack-reveal"]>.pack-reveal-head{flex:none;padding:0 32px 8px 0;text-align:left}[data-dialog="pack-reveal"] .pack-reveal-head>.icon,[data-dialog="pack-reveal"] .pack-reveal-head>.eyebrow{display:none}[data-dialog="pack-reveal"] h2{font-size:23px}[data-dialog="pack-reveal"] .pack-reveal-head p{font-size:11px;margin:4px 0 0}
 [data-dialog="pack-reveal"]>.pack-reveal-grid{flex:1;min-height:0;overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;padding:2px;scrollbar-width:thin;overscroll-behavior:contain}
 [data-dialog="pack-reveal"] .ability-card{padding:8px;min-height:0}[data-dialog="pack-reveal"] .ability-rarity{font-size:9px}[data-dialog="pack-reveal"] .ability-mark{height:48px;margin:6px 0}[data-dialog="pack-reveal"] .hockey-card-badge{width:35px;height:43px}[data-dialog="pack-reveal"] .ability-card h3{font-size:17px}[data-dialog="pack-reveal"] .ability-card p{font-size:10px}[data-dialog="pack-reveal"]>.modal-footer{flex:none;margin:8px 0 0;padding:0}[data-dialog="pack-reveal"] .modal-footer>.btn{min-height:32px;font-size:11px;padding:7px 10px}
 .modal[data-dialog="shop-alert"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.modal[data-dialog="shop-alert"]>.shop-announcement-icon{display:none}.modal[data-dialog="shop-alert"]>.modal-heading{grid-column:1/-1;margin-bottom:0}.modal[data-dialog="shop-alert"] .shop-alert-offer{padding:10px;margin:0}.modal[data-dialog="shop-alert"] .shop-alert-offer:only-of-type{grid-column:1/-1}.modal[data-dialog="shop-alert"] .shop-alert-offer h3{font-size:21px}.modal[data-dialog="shop-alert"] .shop-alert-offer .btn{min-height:32px;font-size:11px;padding:7px}.modal[data-dialog="shop-alert"] .shop-alert-offer.currency>strong{font-size:30px}
 [data-dialog="currency-receipt"] .currency-receipt-icon{width:40px;height:40px;margin:0 0 10px;border-radius:10px}[data-dialog="currency-receipt"] .currency-receipt-icon>.icon{width:25px;height:25px}[data-dialog="currency-receipt"] h2{font-size:25px}
 [data-dialog="legendary-upgrade"] .legendary-upgrade-hero{margin:8px 0;gap:10px}[data-dialog="legendary-upgrade"] .legendary-upgrade-hero>.hockey-card-badge{width:39px;height:47px}[data-dialog="legendary-upgrade"] .legendary-upgrade-effect{padding:9px;margin:8px 0}[data-dialog="legendary-upgrade"] .legendary-burn-grid{grid-template-columns:repeat(3,minmax(0,1fr))}[data-dialog="legendary-upgrade"] .legendary-upgrade-footer{position:sticky;bottom:-12px;padding:8px;margin-top:10px;background:#203946;border-top:1px solid #607984;z-index:2}[data-dialog="legendary-upgrade"] .legendary-upgrade-footer>.btn{min-height:34px;font-size:11px}
}
/* v61: bounded, compact landscape match/cup content. */
@media(min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell .suggested-opponents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .game-shell .suggested-opponents .opponent{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:10px;min-width:0}
 .suggested-opponents .opponent>.crest{width:38px;height:42px;align-self:center}
 .suggested-opponents .opponent-info h3{font-size:17px;overflow-wrap:anywhere}
 .suggested-opponents .opponent-info p,.suggested-opponents .pill{font-size:11px}
 .suggested-opponents .opponent-power{display:flex;justify-content:space-between;gap:6px}
 .suggested-opponents .opponent>.btn{margin-top:auto;min-height:36px;padding:7px;font-size:12px}
 .game-shell .cup-summary{padding:10px;margin:8px 0;gap:6px}
 .game-shell .cup-summary h2{font-size:23px;margin:0}
 .game-shell .cup-summary p,.game-shell .cup-summary>div{font-size:12px;margin:4px 0}
 .game-shell .cup-subtabs{display:flex;gap:8px;margin:10px 0}
 .game-shell .cup-subtabs>button{flex:1;min-height:36px;padding:7px;font-size:13px}
 .game-shell .cup-table-wrap{max-width:100%;overflow:auto;overscroll-behavior:contain}
 .game-shell .cup-table{font-size:12px;width:100%}
 .game-shell .cup-table th,.game-shell .cup-table td{padding:7px 5px}
 .game-shell .cup-pair{gap:8px;padding:8px;font-size:12px;min-width:0}
 .game-shell .cup-pair>span{min-width:0;overflow-wrap:anywhere}
 .game-shell .cup-round-status{font-size:12px;padding:6px}
 .game-shell .cup-current-match{margin:8px 0}
 .game-shell .cup-daily-entry{padding:7px;font-size:12px;min-height:34px}
 .modal[data-dialog="result"],.modal[data-dialog="cup-result"]{width:min(650px,100%);padding:16px 22px}
 .modal[data-dialog="result"] .result-hero,.modal[data-dialog="cup-result"] .result-hero{padding:4px 36px}
 .modal .result-emblem{width:48px;height:48px;margin:0 auto 5px}
 .modal .result-hero h2{font-size:28px;margin:4px 0}
 .modal .result-hero p{font-size:12px;margin:4px 0}
 .modal .result-matchup{margin:6px 0;gap:12px}
 .modal .result-score{font-size:38px}
 .modal .result-reward{padding:10px;margin:8px 0}
 .modal .result-actions{gap:8px;margin-top:10px}
 .modal .result-actions>.btn{min-height:38px;padding:8px;font-size:13px}
}

@media (min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell .game-nav button{padding-inline:5px}
 .game-shell .game-nav button>span{font-family:Arial,sans-serif;font-size:9px;letter-spacing:0;white-space:nowrap}
}
@media (min-width:640px) and (min-aspect-ratio:1/1) and (max-height:600px){
 .game-shell .game-nav button>span{font-size:8px}
}
@media (min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell .city-sidebar .city-login-calendar{margin-top:auto;position:static;inset:auto;display:flex;align-items:center;justify-content:center;gap:7px;flex:none;width:100%;height:34px;min-height:34px;padding:5px;border:1px solid #677865;border-radius:7px;background:#2c4146;color:#e4d393}
 .game-shell .city-sidebar .city-login-calendar>span{position:static;transform:none;border:0;background:none;padding:0;font-size:11px;color:inherit}
 .game-shell .city-sidebar .city-login-calendar>.icon{width:18px;height:18px}
 .game-shell .city-sidebar .city-login-calendar .shortcut-badge{position:static;min-width:15px;width:15px;height:15px;font-size:10px}
}

/* Keep campaign beside training, with the optional league cup below ordinary cups. */
@media (min-width:640px) and (min-aspect-ratio:1/1){
 .game-shell .city-sidebar .city-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .game-shell .city-sidebar .city-shortcuts>.city-shortcut{grid-column:1/-1;min-width:0}
 .game-shell .city-sidebar .city-shortcuts>[data-activity="training"],
 .game-shell .city-sidebar .city-shortcuts>.city-campaign{grid-column:auto;flex-direction:column;justify-content:flex-start;gap:5px;height:68px!important;padding:6px 0!important}
 .game-shell .city-sidebar .city-shortcuts>[data-activity="training"]>span,
 .game-shell .city-sidebar .city-shortcuts>.city-campaign>span{font-size:9px!important}
 .game-shell .city-sidebar [data-activity="training"]>.activity-ring{left:calc(50% - var(--action-art-size)/2 - 1px);top:5px}
 .game-shell .city-sidebar [data-activity="training"]>.activity-countdown{left:calc(50% - var(--action-art-size)/2);top:6px}
 .game-shell .city-sidebar [data-activity="training"].is-blocked>.activity-lock{left:auto;right:3px;top:30px;bottom:auto}
}
@media (min-width:640px) and (min-aspect-ratio:1/1) and (max-height:600px){
 .game-shell .city-sidebar .city-shortcuts>[data-activity="training"],
 .game-shell .city-sidebar .city-shortcuts>.city-campaign{height:52px!important;padding-top:4px!important;gap:4px}
 .game-shell .city-sidebar [data-activity="training"]>.activity-ring{top:3px}
 .game-shell .city-sidebar [data-activity="training"]>.activity-countdown{top:4px}
 .game-shell .city-sidebar [data-activity="training"].is-blocked>.activity-lock{top:22px}
}
