/* FreeKill menus: shared spacing, alignment and responsive structure. */
:root{--menu-space:24px;--menu-edge:#39313c;--menu-surface:#14141b;--menu-subtle:#aaa2b1}
#mouseHint,#clientGameUI,#offlineSetup,#csEntryMenu,#csBuyMenu,.session-dialog{padding:24px;background:#08090db3;backdrop-filter:none}
.game-menu,.vgui-window,.bot-setup-window,#csEntryMenu>section,#csBuyMenu>section,.motd-card{box-sizing:border-box;border-radius:16px;border:1px solid var(--menu-edge);box-shadow:0 20px 65px #0006}
.game-menu button,#clientGameUI button,#offlineSetup button,#csEntryMenu button,#csBuyMenu button,.command-menu-pane button{font-family:inherit;line-height:1.35;min-height:40px;transition:background-color .12s,border-color .12s}
.game-menu button:focus-visible,#clientGameUI button:focus-visible,#offlineSetup button:focus-visible,#csEntryMenu button:focus-visible,#csBuyMenu button:focus-visible,.command-menu-pane button:focus-visible{outline:2px solid #ff526b;outline-offset:3px}
.menu-heading{align-items:center;gap:24px;margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid var(--menu-edge)}
.menu-heading h2{font-size:26px;font-weight:650;margin:7px 0 0;letter-spacing:-.6px}
.menu-heading>button,.vgui-title>button,.bot-setup-heading>button{display:grid;place-items:center;align-self:center;width:36px;min-height:36px;padding:0;border:1px solid #47333f;border-radius:9px;background:#ffffff05;color:#ccc1ce;font-size:20px;flex-shrink:0}
.menu-heading>button:hover,.vgui-title>button:hover,.bot-setup-heading>button:hover{background:#6c1730;color:white}
.game-menu .menu-bottom{padding-top:18px;margin-top:22px;gap:16px;min-height:44px}
.game-menu .menu-bottom span{font-size:11px;line-height:1.5;color:var(--menu-subtle)}
.game-menu .menu-help{font-size:11px;line-height:1.8;margin:18px 0 0;padding:14px 16px;background:#ffffff04;border:1px solid #ffffff09;border-radius:8px}
/* Esc is a real dialog, with one primary action and grouped commands. */
#mouseHint:has(.game-menu[data-panel=pause]){place-items:center;padding:24px;background:#08090db3;backdrop-filter:none}
.game-menu[data-panel=pause]{width:min(720px,100%);padding:28px;background:var(--menu-surface)!important;border:1px solid var(--menu-edge);box-shadow:0 20px 65px #0007;overflow:auto;max-height:100%}
.game-menu[data-panel=pause] .menu-heading{display:flex;margin-bottom:18px}
.game-menu[data-panel=pause] .menu-heading h2{font-size:28px;margin:7px 0 0}
.game-menu[data-panel=pause] .menu-heading>button{display:grid}
.game-menu[data-panel=pause] #pauseDescription{display:block;margin:0 0 18px;font-size:12px}
.game-menu[data-panel=pause] .menu-help{display:block}
.game-menu[data-panel=pause] .menu-bottom{display:flex}
.pause-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pause-actions button{display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:54px;padding:15px 18px;font-size:13px;font-weight:600;border:1px solid #3c333f;border-radius:9px;background:#1d1c25;color:#e9e2ed}
.pause-actions button:after{content:'↗';font-size:16px;color:#a28b9e;margin-left:12px}
.pause-actions button:hover{background:#351925;color:#fff!important;border-color:#9c2941}
.pause-actions #windowMouse{grid-column:1/-1;background:linear-gradient(110deg,#ab142c,#d51b39);border-color:#e63a54;color:white}
.pause-actions #windowMouse:after{content:'→';color:white}
.pause-actions hr{grid-column:1/-1;width:100%;height:1px;margin:6px 0;background:#39313c;border:0}
.pause-actions #originalQuit,.pause-actions #disconnectGame{color:#ff9aa9}
.game-menu[data-panel=pause] #exitFullscreen{margin-top:14px;padding:10px 14px;background:transparent;border:1px solid #4c3a49;font-size:11px}
/* Settings use a stable sidebar, flexible content and a fixed action footer. */
#clientGameUI .vgui-window{width:min(1080px,100%);height:min(730px,100%);grid-template-columns:194px minmax(0,1fr);border-color:var(--menu-edge)}
#clientGameUI .vgui-title{min-height:88px;padding:22px 28px;align-items:center}
#clientGameUI .vgui-title>div>span{font-size:25px;line-height:1.2}
#clientGameUI .vgui-title>div>small{margin-bottom:8px;letter-spacing:2px}
#clientGameUI .vgui-window>nav{padding:18px 12px;gap:6px;border-color:var(--menu-edge)}
#clientGameUI nav button{font-size:12px;min-height:45px;padding:12px;gap:12px;border-radius:8px}
#clientGameUI nav button .ui-icon{width:18px;height:18px}
#clientGameUI .vgui-pages{padding:26px 28px;scrollbar-width:thin;scrollbar-color:#60404f #14141b}
#clientGameUI .vgui-pages>section:not([hidden]){gap:14px}
#clientGameUI .options-category-heading{margin:0 0 8px}
#clientGameUI .options-category-heading h3{font-size:21px;margin:0 0 8px}
#clientGameUI .options-category-heading p{font-size:12px;line-height:1.6}
#clientGameUI .vgui-field{padding:16px;gap:11px;border-radius:9px;font-size:12px;line-height:1.4;min-width:0}
#clientGameUI .vgui-field input:not([type=checkbox]):not([type=range]),#clientGameUI .vgui-field select{min-height:41px;padding:10px 12px;font-size:13px}
#clientGameUI .vgui-field:has(input[type=checkbox]){min-height:62px}
#clientGameUI footer{padding:17px 28px;gap:10px;flex-wrap:wrap}
#clientGameUI footer button{min-width:98px;min-height:42px;font-size:12px;padding:11px 18px}
#clientGameUI .vgui-status{font-size:10px;line-height:1.5;padding:0 28px 14px}
#clientGameUI .vgui-bindings{table-layout:fixed;font-size:12px}
#clientGameUI .vgui-bindings th,#clientGameUI .vgui-bindings td{padding:10px 12px;vertical-align:middle;overflow-wrap:anywhere}
#clientGameUI .vgui-bindings th:first-child{width:46%}
#clientGameUI .vgui-bindings input{width:100%;max-width:160px;min-height:36px;padding:8px 10px}
#clientGameUI .vgui-bindings tr:hover td{background:#ffffff04}
.profile-summary{border-radius:10px;padding:20px}
.aim-layout{gap:24px}.aim-options{gap:8px 16px}.aim-options .field{font-size:12px;line-height:1.5}.aim-presets{gap:8px}.aim-presets button{min-height:38px}
/* Bot setup: aligned form columns with the footer always accessible. */
#offlineSetup>.bot-setup-window{width:min(1060px,100%);height:min(760px,100%);max-height:100%}
.bot-setup-heading{padding:24px 28px;align-items:center;gap:20px}
.bot-setup-heading h2{font-size:27px;margin:8px 0}.bot-setup-heading p{font-size:12px;line-height:1.6}
.bot-rule-tabs{gap:8px;padding:12px 24px;scrollbar-width:thin;border-color:var(--menu-edge)}
.bot-rule-tabs button{padding:11px 16px;font-size:12px;border-radius:8px;flex-shrink:0}
.bot-setup-body{grid-template-columns:310px minmax(0,1fr);scrollbar-width:thin}
.bot-map-panel,.bot-rules-panel{padding:24px}.bot-map-art{height:190px}.bot-section-title{margin-bottom:20px}
.bot-fields-grid{gap:18px;margin-bottom:24px}.bot-rule-fields{gap:18px}.bot-rule-group{margin-bottom:28px}
#offlineSetup .field{font-size:12px;line-height:1.5;gap:9px}#offlineSetup .field small{font-size:10px;line-height:1.5}
#offlineSetup input:not([type=checkbox]),#offlineSetup select{min-height:42px;padding:10px 12px;font-size:13px}
.bot-rule-toggle{padding:15px;min-height:66px;line-height:1.5;border-radius:9px;font-size:12px!important}
.bot-rule-toggle small{font-size:10px;line-height:1.5}.bot-rule-group h3{font-size:15px}
#offlineSetup footer.bot-setup-footer{padding:18px 28px;gap:12px}#offlineSetup footer button{min-height:42px;font-size:12px;padding:11px 17px}.bot-ready strong{font-size:12px}.bot-ready small{font-size:10px}
/* Team/class and shop share the same list + preview structure. */
#csEntryMenu>section,#csBuyMenu>section{width:min(960px,100%);padding:28px;min-height:0;max-height:100%;scrollbar-width:thin}
#csEntryMenu h2,#csBuyMenu h2{font-size:27px;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--menu-edge)}
.cs-entry-body,.cs-buy-body{grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:stretch}
.cs-entry-body nav,.cs-buy-body nav{gap:8px}
.cs-entry-body nav button,.cs-buy-body nav button{padding:13px 15px;min-height:46px;border:1px solid #37303b;background:#1c1b23;border-radius:8px;font-size:12px;line-height:1.5;text-align:left}
.cs-entry-body nav button:hover,.cs-buy-body nav button:hover,.cs-entry-body nav button:focus,.cs-buy-body nav button:focus{background:#421724;border-color:#9f2942;color:#fff}
.cs-entry-info,.cs-buy-preview{padding:24px;background:#1b1922;border:1px solid #40323e;border-radius:12px;min-width:0;min-height:270px}
.cs-entry-info h3,.cs-buy-preview h3{font-size:20px;margin:0 0 14px}.cs-entry-info p,.cs-buy-preview p{font-size:12px;line-height:1.8}
.cs-buy-preview img{height:180px}.cs-entry-info img{height:220px}.cs-buy-footer{margin-top:22px;gap:10px;padding-top:18px;border-top:1px solid var(--menu-edge)}
.cs-buy-footer button,.cs-entry-cancel{min-height:42px;padding:11px 17px;font-size:12px}
.team-grid,.class-grid,.shop-grid,.radio-grid{gap:12px}.team-grid button,.class-grid button,.shop-grid button{min-height:64px;padding:16px;border-radius:9px;text-align:left;font-size:13px}
.team-choice small{font-size:11px;line-height:1.5;margin-top:8px}
/* H/radio commands remain small enough to keep the match visible. */
.command-menu-pane{top:50%;transform:translateY(-50%);left:24px;width:310px;max-width:calc(100% - 48px);max-height:calc(100% - 48px);overflow:auto;padding:16px;background:#14141bf5;border:1px solid #50323f;border-radius:12px;box-shadow:0 16px 40px #0005;scrollbar-width:thin}
.command-menu-pane h3{font-size:14px;line-height:1.5;margin:0 0 13px;padding:0 4px 13px;border-bottom:1px solid #40313d;color:#fff}
.command-menu-pane button{padding:11px 12px;min-height:40px;border:1px solid transparent;border-radius:7px;font-size:12px;margin:3px 0;background:#ffffff03}
.command-menu-pane button:hover{background:#421724;border-color:#a92c46}
/* Console and information dialogs follow the same frame rhythm. */
.game-menu[data-panel=console]{width:min(1080px,100%);height:min(740px,100%);padding:26px}
.game-menu[data-panel=console] .menu-heading{margin-bottom:0}.game-menu[data-panel=console] .menu-heading h2{margin:7px 0 0}
.console-toolbar{gap:12px;padding:16px 0}.console-toolbar button{min-height:36px}.console-prompt{min-height:46px}.console-footer{line-height:1.6;font-size:10px}
.motd-card>header,.match-heading{padding:22px 28px}.motd-card>footer,.match-board>footer{padding:18px 28px}.motd-card>header h2{font-size:26px;margin:10px 0 0}
.session-dialog .vgui-window{padding:26px;gap:16px}.session-dialog .vgui-window p{margin:0;line-height:1.8;font-size:13px}.session-dialog footer{padding-top:18px;margin-top:4px}
@media(max-width:760px){
 #mouseHint,#clientGameUI,#offlineSetup,#csEntryMenu,#csBuyMenu,.session-dialog{padding:12px}
 #clientGameUI .vgui-window{grid-template-columns:154px minmax(0,1fr)}
 #clientGameUI .vgui-pages{padding:20px}#clientGameUI .vgui-title{padding:20px}#clientGameUI footer{padding:15px 20px}
 .bot-setup-body{grid-template-columns:240px minmax(0,1fr)}.bot-map-panel,.bot-rules-panel{padding:20px}.bot-rule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cs-entry-body,.cs-buy-body{grid-template-columns:220px minmax(0,1fr);gap:16px}
}
@media(max-width:600px){
 .game-menu[data-panel=pause]{padding:20px}.pause-actions{grid-template-columns:1fr 1fr}.pause-actions button{padding:12px;font-size:12px}.menu-heading h2{font-size:23px!important}
 #clientGameUI .vgui-window{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr)}
 #clientGameUI .vgui-window>nav{grid-column:1;grid-row:2;flex-direction:row;padding:10px;border-right:0;border-bottom:1px solid var(--menu-edge)}
 #clientGameUI .vgui-window>form{grid-column:1;grid-row:3}#clientGameUI nav button{flex-shrink:0;font-size:11px;min-height:38px;padding:9px;gap:7px}
 #clientGameUI .vgui-pages{padding:16px}#clientGameUI .vgui-pages>section:not([hidden]){grid-template-columns:1fr}.options-category-heading{grid-column:1/-1}
 #clientGameUI .vgui-field{padding:13px}.bot-setup-body,.cs-entry-body,.cs-buy-body{grid-template-columns:1fr}
 .bot-map-panel{border-right:0;border-bottom:1px solid var(--menu-edge)}.bot-map-art{height:120px}.bot-setup-heading{padding:18px}.bot-rule-tabs{padding:10px}.bot-rule-tabs button{padding:9px 12px;font-size:11px}
 #offlineSetup footer.bot-setup-footer{padding:14px;flex-wrap:wrap}.bot-ready{width:100%}#offlineSetup footer .offline-start{margin-left:auto}
 #csEntryMenu>section,#csBuyMenu>section{padding:20px}.cs-entry-info,.cs-buy-preview{min-height:180px}.cs-entry-info img{height:150px}
 .game-menu[data-panel=console]{padding:18px}.console-toolbar{flex-wrap:wrap}.console-search{min-width:0}.console-footer{flex-wrap:wrap;gap:6px}
 .menu-bottom{flex-wrap:wrap}.menu-bottom span{max-width:none}.motd-card>header,.match-heading{padding:18px 20px}
}
@media(max-height:650px){
 #mouseHint,#offlineSetup,#clientGameUI,#csEntryMenu,#csBuyMenu{padding:12px}.game-menu[data-panel=pause]{padding:20px}.game-menu[data-panel=pause] .menu-help{display:none}.pause-actions button{min-height:44px;padding:11px 14px}.menu-heading{padding-bottom:14px;margin-bottom:14px}.game-menu .menu-bottom{margin-top:14px;padding-top:12px}
 .bot-setup-heading{padding:16px 24px}.bot-setup-heading h2{font-size:23px}.bot-rule-tabs{padding:8px 20px}.bot-rule-tabs button{min-height:36px;padding:8px 12px}.bot-map-art{height:130px}#clientGameUI .vgui-title{min-height:74px;padding:16px 24px}.bot-map-panel,.bot-rules-panel,#clientGameUI .vgui-pages{padding:18px 22px}#clientGameUI .vgui-field{padding:12px}.bot-fields-grid{gap:12px}
}
@media(prefers-reduced-motion:reduce){.game-menu button,#clientGameUI button,#offlineSetup button,#csEntryMenu button,#csBuyMenu button{transition:none}}
/* Keep the pause actions visible even with browser chrome on short screens. */
@media(max-height:800px){
 .game-menu[data-panel=pause]{padding:20px 24px}
 .game-menu[data-panel=pause] .menu-heading{padding-bottom:15px;margin-bottom:14px}
 .game-menu[data-panel=pause] .menu-heading h2{font-size:25px}
 .game-menu[data-panel=pause] #pauseDescription{margin-bottom:14px}
 .game-menu[data-panel=pause] .menu-help{display:none}
 .game-menu[data-panel=pause] .pause-actions{gap:8px}
 .game-menu[data-panel=pause] .pause-actions button{min-height:44px;padding:12px 16px}
 .game-menu[data-panel=pause] .pause-actions hr{margin:3px 0}
 .game-menu[data-panel=pause] .menu-bottom{margin-top:16px;padding-top:14px;min-height:0}
}
#mouseHint[hidden] .pause-actions button:after{content:none}
