/* V3.51: keep one clear menu corner and separate fixed/scrolling drawer regions. */
:root{--gs-menu-clear:calc(64px + env(safe-area-inset-right))}
#gameOptions .gs-menu-panel{display:flex;flex-direction:column;overflow:hidden;padding:0;height:var(--gs-height)}
#gameOptions .gs-menu-top{position:relative;top:auto;flex:none;margin:0;padding:8px 16px;min-height:52px;box-sizing:border-box;z-index:2;background:#101e28}
#gameOptions .gs-menu-top h2{font-size:21px}
#gameOptions .gs-menu-context{margin:3px 0 0}
#gameOptions .gs-menu-top button{flex:none;min-height:44px}
#gameOptions .gs-menu-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:0 max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) 16px}
.game-session .panel>.section-top,.game-session #battle .battle-top,.game-session #word-mimic .wm-top,.game-session #car-crash .cc-head,.game-session #adventure .sock-view-bar,.game-session #kingdom .nk-top,.game-session #echo-home .echo-home-bar{padding-right:var(--gs-menu-clear)!important;box-sizing:border-box}
.game-session #adventure .sock-view-bar,.game-session #kingdom .nk-top,.game-session #echo-home .echo-home-bar,.game-session #word-mimic .wm-top,.game-session #car-crash .cc-head{min-height:56px!important;max-height:none!important;height:auto!important;flex-shrink:0}
.game-session #stuff-wars .sw-topbar{right:var(--gs-menu-clear)!important}
.game-session #stuff-wars .sw-topbar #swPause{min-height:44px}
.game-session #echo-dungeons .dg-hud{right:max(154px,var(--gs-menu-clear))!important}
/* Defenses have a dedicated row above powers, clear of the battle map. */
.game-session #stuff-wars.sw-phone-open{--sw-dock-clear:126px}
.game-session #stuff-wars.sw-phone-open .sw-build-controls{position:absolute;inset:auto 6px 76px;max-width:none;height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:6px;padding:0;background:#112731;border-radius:8px;z-index:10}
.game-session #stuff-wars.sw-phone-open .sw-build-controls button{min-height:44px;padding:4px 9px;font-size:11px;white-space:nowrap;flex:none}
.game-session #stuff-wars.sw-phone-open .sw-build-confirm{flex-basis:auto;flex:1;min-width:0;flex-wrap:nowrap}
.game-session #stuff-wars.sw-phone-open .sw-build-confirm small{max-width:none;font-size:10px;line-height:1.1;min-width:0;flex:1}
.game-session #stuff-wars.sw-phone-open .sw-powers button{height:64px;min-height:64px}
@media(min-width:1100px){.game-session #stuff-wars.sw-phone-open .sw-powers span{font-size:11px}}
/* Forge: machine and scientist beside the selected Echo's stats and actions. */
.game-session #echo-forge:not([hidden]){display:grid;grid-template-columns:minmax(240px,.85fr) minmax(340px,1.15fr);grid-template-rows:48px minmax(0,1fr) auto;gap:6px 16px;padding:8px 16px;overflow:auto}
.game-session #echo-forge>.section-top{grid-column:1/-1;margin:0;align-items:center}
.game-session #echo-forge .section-top h2{margin:0;font-size:22px}
.game-session #echo-forge .eyebrow{display:none}
.game-session #echo-forge .forge-scene{grid-column:1;grid-row:2;grid-template-columns:minmax(80px,.8fr) minmax(120px,1fr);align-items:center;gap:8px;margin:0;min-height:0;max-width:550px;width:100%;align-self:center}
.game-session #echo-forge .forge-scientist{padding:6px;gap:6px;min-width:0}
.game-session #echo-forge .forge-scientist img{width:100%;height:clamp(85px,30vh,210px)}
.game-session #echo-forge .forge-scientist h3{font-size:14px;margin:0}
.game-session #echo-forge .forge-scientist p{font-size:12px;margin:4px 0}
.game-session #echo-forge .forge-machine{width:min(100%,32vh);padding:8px;border-width:5px;border-bottom-width:12px;justify-self:center}
.game-session #echo-forge .forge-coils{font-size:18px;letter-spacing:6px;line-height:1.2}
.game-session #echo-forge .forge-slot{padding:5px;min-height:60px;font-size:12px}
.game-session #echo-forge .forge-slot b{font-size:32px}
.game-session #echo-forge .forge-machine-lights{margin-top:7px;gap:12px}
.game-session #echo-forge .forge-machine-lights i{width:7px;height:7px}
.game-session #echo-forge .forge-selected{grid-column:2;grid-row:2;margin:auto 0;max-width:none;min-width:0;width:100%;align-self:center}
.game-session #echo-forge .forge-selected h3{font-size:20px;margin:0 0 5px}
.game-session #echo-forge .forge-selected p{font-size:12px;line-height:1.3;margin:5px 0}
.game-session #echo-forge .forge-actions{gap:6px;margin:8px 0;flex-wrap:nowrap}
.game-session #echo-forge .forge-actions button{min-height:44px;padding:6px;flex:1;min-width:0;font-size:12px}
.game-session #echo-forge .forge-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:8px 0;gap:5px}
.game-session #echo-forge .forge-stats span{font-size:11px;padding:6px 2px}
.game-session #echo-forge .forge-stats strong{font-size:18px;margin-top:2px}
.game-session #echo-forge .forge-empty{grid-column:2;align-self:center;font-size:16px}
.game-session #echo-forge #forgeStatus{grid-column:1/-1;grid-row:3;margin:0;font-size:12px}
.game-session #echo-forge #forgeStatus:empty{display:none}
.game-session #echo-forge .forge-dialog{grid-column:1/-1;grid-row:1/-1}
/* Workshop keeps all four upgrade cards together and puts long explanations in Details. */
.game-session #engineering:not([hidden]){display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto auto;align-content:start;gap:6px 12px;padding:8px 16px}
.game-session #engineering>.section-top{margin:0;padding-right:0!important}
.game-session #engineering .eyebrow{display:none}
.game-session #engineering h2{font-size:22px;margin:0}
.game-session #engineering .engineering-wallet{margin:0;padding:4px var(--gs-menu-clear) 4px 0;font-size:16px;align-self:center}
.game-session #engineering .workshop-welcome{grid-column:1/-1;margin:0;padding:5px 12px;gap:14px;min-height:0}
.game-session #engineering .workshop-welcome img{width:44px;height:54px}
.game-session #engineering .workshop-welcome h3{font-size:15px;margin:0}
.game-session #engineering .workshop-welcome p{font-size:12px;margin:4px 0}
.game-session #engineering .workshop-welcome small{display:none}
.game-session #engineering .engineering-grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.game-session #engineering .engineering-card{padding:10px;border-radius:12px;min-width:0}
.game-session #engineering .engineering-card h3{font-size:16px;margin:0 0 5px}
.game-session #engineering .engineering-card>strong{font-size:13px;min-height:32px;line-height:1.2}
.game-session #engineering .engineering-card>p{display:none}
.game-session #engineering .engineering-card>.micro{font-size:11px}
.game-session #engineering .engineering-card progress{margin:6px 0;height:6px}
.game-session #engineering .engineering-buttons{gap:4px;flex-wrap:nowrap}
.game-session #engineering .engineering-buttons button{min-height:44px;padding:4px 2px;font-size:11px;min-width:0}
.game-session #engineering .engineering-buttons small{font-size:10px;margin-top:2px}
.game-session #engineering>.ui-help,.game-session #engineering>p.micro,.game-session #engineeringStatus{grid-column:1/-1;margin:0;font-size:11px}
.game-session #engineering>.ui-help summary{padding:4px 0;min-height:24px}
.game-session #engineeringStatus:empty{display:none}
@media(max-height:360px){.game-session #echo-forge .forge-scientist p{display:none}.game-session #echo-forge .forge-selected h3{font-size:17px}.game-session #echo-forge .forge-selected>.micro{font-size:10px}.game-session #engineering .workshop-welcome img{height:38px;width:32px}.game-session #engineering .workshop-welcome p{margin:2px 0}.game-session #engineering .engineering-card{padding:7px}.game-session #engineering .engineering-card h3{font-size:14px}}
@media(max-width:699px){.game-session #engineering .engineering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-session #echo-forge:not([hidden]){grid-template-columns:minmax(150px,.7fr) minmax(260px,1.3fr);gap:6px}.game-session #echo-forge .forge-scene{grid-template-columns:1fr}.game-session #echo-forge .forge-scientist{display:none}.game-session #stuff-wars.sw-phone-open .sw-build-confirm small{display:none}}
.game-session #engineering .engineering-wallet{margin-right:var(--gs-menu-clear);padding-right:0}
/* The phone controller measures the powers row inline; include the defense row too. */
.game-session #stuff-wars.sw-phone-open{--sw-dock-clear:126px!important}
.game-session #engineering .engineering-buttons button{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;white-space:normal;overflow-wrap:anywhere}
.game-session #engineering .engineering-buttons small{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.game-session #echo-forge .forge-coils{font-size:14px;letter-spacing:2px;white-space:nowrap}
.game-session #engineering:not([hidden]){row-gap:4px}
.game-session #engineering .workshop-welcome{min-height:64px;flex-shrink:0}
.game-session #engineering .engineering-buttons small{font-size:9px;letter-spacing:-.3px;white-space:nowrap;overflow-wrap:normal}
@media(max-height:360px){.game-session #engineering .workshop-welcome{min-height:48px}.game-session #engineering>.ui-help summary{min-height:20px;padding:2px 0}}
@media(min-width:700px){.game-session #engineering .engineering-card{display:grid;grid-template-rows:auto 32px auto 6px 44px;row-gap:4px;align-content:start}.game-session #engineering .engineering-card h3{margin:0}.game-session #engineering .engineering-card>strong{min-height:0}.game-session #engineering .engineering-card progress{margin:0}.game-session #engineering .engineering-buttons{min-height:44px}.game-session #engineering .engineering-buttons button{height:44px;padding:3px 2px}}
