/* Menu adoption of the same palette and controls as the Battle Royale HUD. */
#main-menu { --cy:var(--ui-cyan); --amber:var(--ui-action); color:var(--ui-text); overflow-y:auto; }
#main-menu #menu-lobby { min-height:100%; height:auto; position:relative; display:grid; grid-template-columns:290px minmax(0,1fr) 300px; grid-template-rows:76px auto 1fr auto; gap:16px 24px; padding:var(--edge); box-sizing:border-box; }
#main-menu .lobby-left { display:contents; }
#main-menu .pilot-card { position:relative; top:auto; left:auto; width:auto; grid-column:1; grid-row:2; align-self:start; filter:none; isolation:isolate; }
#main-menu .pilot-card::before { clip-path:none; background:var(--ui-panel-soft); border:1px solid var(--ui-edge); backdrop-filter:none; }
#main-menu .pilot-card::after { display:none; }
#main-menu .pilot-strip { color:var(--ui-muted); background:none; border-color:var(--ui-edge); letter-spacing:.08em; font-size:11px; }
#main-menu .pilot-status { color:var(--ui-muted); letter-spacing:0; }
#main-menu .pilot-name { font:650 20px var(--ui-font); text-shadow:none; }
#main-menu .pilot-name:focus-visible { outline:2px solid var(--ui-cyan); outline-offset:2px; }
#main-menu .pilot-id, #main-menu .pilot-xp-head { color:var(--ui-muted); }
#main-menu .pilot-bar { transform:none; height:5px; }
#main-menu .pilot-bar b { background:var(--ui-action); box-shadow:none; }
#main-menu .lobby-resources { grid-column:2/4; grid-row:1; justify-self:end; align-self:start; display:flex; align-items:center; gap:12px; }
#main-menu .pilot-wallet { display:flex; gap:24px; align-items:center; border:1px solid var(--ui-edge); background:var(--ui-panel-soft); min-width:150px; margin:0; padding:10px 16px; font:12px var(--ui-mono); color:var(--ui-warn); }
#main-menu .pilot-wallet strong { margin-left:auto; }
#main-menu .pilot-wallet strong { font-size:22px; }
#main-menu .pilot-career { padding:0 12px 12px; display:grid; gap:8px; }
#main-menu #pilot-career-count { color:var(--ui-muted); font-size:12px; }
#main-menu .career-button { color:var(--ui-text); background:var(--ui-panel); border:1px solid var(--ui-edge); border-radius:2px; font:12px var(--ui-font); min-height:44px; padding:10px 12px; cursor:pointer; }
#main-menu .career-button:hover, #main-menu .career-history-row:hover { border-color:var(--ui-cyan); }
#main-menu :is(button,input):focus-visible { outline:2px solid var(--ui-cyan); outline-offset:3px; }
#main-menu .career-button[aria-pressed="true"] { background:var(--ui-cyan); color:var(--ui-bg); }
#main-menu .career-label { color:var(--ui-muted); font:11px var(--ui-mono); letter-spacing:.08em; }
#main-menu .career-last { grid-column:1; grid-row:3; align-self:start; padding:16px; border:1px solid var(--ui-edge); border-top:2px solid var(--ui-action); background:var(--ui-panel-soft); }
#main-menu .career-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#main-menu #career-outcome { font:11px var(--ui-mono); color:var(--ui-muted); }
#main-menu .career-card-result { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; }
#main-menu #career-placement { font:900 42px/1 var(--ui-display); }
#main-menu #career-total { color:var(--ui-muted); font:16px var(--ui-mono); margin-left:6px; }
#main-menu #career-gold { color:var(--ui-warn); font:18px var(--ui-mono); }
#main-menu #career-stats { color:var(--ui-muted); font-size:12px; margin:12px 0; }
#main-menu #btn-battle-summary { width:100%; }
#main-menu .lobby-brand, #main-menu.scene-ready .lobby-brand { grid-column:1; grid-row:1; position:static; transform:none; transition:none; align-items:flex-start; }
#main-menu .brand-mark { align-items:flex-start; }
#main-menu .brand-sub { font-size:13px; text-shadow:none; margin-left:0; letter-spacing:.16em; }
#main-menu .brand-main { font-size:52px; filter:none; letter-spacing:.04em; margin-left:0; }
#main-menu .lobby-right { position:static; grid-column:3; grid-row:3; transform:none; align-self:end; display:flex; flex-direction:column; gap:16px; }
#main-menu #back-leader { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; color:var(--ui-cyan); }
#main-menu #back-leader path { fill:none; stroke:currentColor; stroke-width:1.5; }
#main-menu #back-leader circle { fill:var(--ui-bg); stroke:currentColor; stroke-width:2; }
#main-menu .back-callout { position:relative; grid-column:3; grid-row:3; align-self:start; padding:14px; background:var(--ui-panel-soft); border:1px solid var(--ui-edge); border-left:2px solid var(--ui-cyan); }
#main-menu .back-callout h2 { font:900 24px/1.05 var(--ui-display); margin:6px 0; }
#main-menu #back-effect { color:var(--ui-muted); font-size:12px; line-height:1.4; margin:6px 0; }
#main-menu #back-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }
#main-menu #back-stats dt { color:var(--ui-muted); font:10px var(--ui-mono); }
#main-menu #back-stats dd { margin:5px 0 0; font:14px var(--ui-mono); }
#main-menu .mech-spec { grid-column:3; grid-row:2; align-self:start; padding:16px; border:1px solid var(--ui-edge); background:var(--ui-panel-soft); }
#main-menu .mech-spec h2 { margin:6px 0; font:900 28px/1.05 var(--ui-display); }
#main-menu #mech-stat-role { font:11px var(--ui-mono); color:var(--ui-action); }
#main-menu .mech-stat-row { display:grid; grid-template-columns:1fr auto; gap:5px; margin-top:12px; font:11px var(--ui-mono); }
#main-menu .mech-stat-row strong { font-weight:400; color:var(--ui-cyan); }
#main-menu #panel-chassis { left:auto; right:var(--edge); top:var(--edge); transform:none; max-height:calc(100dvh - 2 * var(--edge)); width:min(380px,calc(100vw - 2 * var(--edge))); box-sizing:border-box; }
#main-menu .menu-mode { padding:16px; background:var(--ui-panel-soft); border:1px solid var(--ui-edge); }
#main-menu .menu-mode h2 { font:900 34px/1.1 var(--ui-display); margin:8px 0; }
#main-menu .menu-mode p { font-size:14px; color:var(--ui-muted); margin:0; line-height:1.5; }
#main-menu .chassis-btn { border-color:var(--ui-edge); border-radius:2px; background:var(--ui-panel-soft); min-width:0; transform:none; backdrop-filter:none; }
#main-menu .lobby-bottom { position:static; grid-column:3; grid-row:4; align-self:end; display:grid; gap:12px; }
#main-menu .lobby-bottom .menu-mode { padding:10px 14px; }
#main-menu .lobby-bottom .menu-mode h2 { font-size:28px; margin:5px 0 0; }
#main-menu .play-btn { width:100%; min-height:64px; padding:14px 24px; font:700 26px var(--ui-font); color:var(--ui-on-action); background:var(--ui-action); box-shadow:none; border-radius:2px; }
#main-menu .play-btn.finding { margin:0; min-width:0; min-height:118px; font-size:20px; text-shadow:none; }
#main-menu .gear-btn { position:static; width:44px; height:44px; background:var(--ui-panel-soft); border-color:var(--ui-edge); }
#main-menu .mech-arrow { position:absolute; z-index:2; top:53%; width:52px; height:72px; display:grid; place-items:center; padding:0; border:1px solid var(--ui-edge); color:var(--ui-text); background:var(--ui-panel-soft); cursor:pointer; }
#main-menu .mech-arrow span { font:300 58px/1 var(--ui-font); margin-top:-8px; }
#main-menu .mech-prev { left:calc(var(--edge) + 314px); }
#main-menu .mech-next { right:calc(var(--edge) + 324px); }
#main-menu .mech-arrow:hover { border-color:var(--ui-cyan); color:var(--ui-cyan); }
#main-menu .mech-roster { grid-column:1/3; grid-row:4; align-self:end; width:min(100%,610px); }
#main-menu .mech-roster-heading { display:none; }
#main-menu #mech-selection { font:11px var(--ui-mono); color:var(--ui-text); }
#main-menu #mech-thumbnails { --thumb-gap:10px; --thumb-popout:clamp(28px,5vw,52px); display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - var(--thumb-gap) - var(--thumb-gap)) / 3); gap:var(--thumb-gap); padding-top:var(--thumb-popout); overflow-x:auto; overflow-y:hidden; overscroll-behavior-inline:contain; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#3b5960 transparent; }
#main-menu .mech-thumbnail { position:relative; overflow:visible; box-sizing:border-box; aspect-ratio:16 / 9; padding:0; min-width:0; border:1px solid var(--ui-edge); border-bottom:3px solid var(--ui-edge); background:var(--ui-panel-soft); color:var(--ui-text); text-align:left; cursor:pointer; scroll-snap-align:start; }
#main-menu .mech-thumb-art { position:relative; height:100%; display:block; overflow:visible; background:radial-gradient(ellipse at center,#28434c,#0c191e); }
#main-menu .mech-thumb-art img { position:absolute; z-index:2; left:-5%; bottom:-1px; width:110%; height:145%; object-fit:cover; object-position:50% 7%; pointer-events:none; filter:drop-shadow(0 9px 7px #0009); }
#main-menu .mech-thumb-art img.roster-rendered { height:auto; object-fit:initial; object-position:initial; }
#main-menu .mech-bay { position:absolute; top:7px; left:8px; color:var(--ui-muted); font:11px var(--ui-mono); z-index:4; }
#main-menu .mech-thumb-name { position:absolute; z-index:3; left:0; right:0; bottom:0; display:flex; align-items:baseline; gap:7px; padding:8px 10px; background:#0b171be8; }
#main-menu .mech-thumb-name > span { font:10px var(--ui-mono); color:var(--ui-muted); }
#main-menu .mech-thumb-name strong { font:650 13px var(--ui-font); text-transform:uppercase; }
#main-menu .mech-thumb-name i { display:none; margin-left:auto; font-style:normal; }
#main-menu .mech-thumbnail.on { border-color:var(--ui-action); background:#33251e; }
#main-menu .mech-thumbnail.on i { display:block; color:var(--ui-action); }
#main-menu .mech-thumbnail:hover { border-color:var(--ui-cyan); }
#main-menu .menu-popover { background:var(--ui-bg); border-color:var(--ui-edge); border-radius:2px; }
#main-menu .pop-note { color:var(--ui-muted); }
#main-menu .pop-close { min-width:44px; min-height:44px; }
#main-menu #menu-loadchip { bottom:108px; }
.career-dialog { box-sizing:border-box; color:var(--ui-text); background:var(--ui-bg); border:1px solid var(--ui-edge); border-top:3px solid var(--ui-action); width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:0; margin:auto; }
.career-dialog[open] { display:flex; flex-direction:column; }
.career-dialog > :is(header,nav,footer) { flex-shrink:0; }
.career-dialog::backdrop { background:#030b10cf; }
.career-dialog * { box-sizing:border-box; }
.career-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; border-bottom:1px solid var(--ui-edge); }
.career-dialog h2 { font:900 32px/1.1 var(--ui-display); margin:5px 0 0; }
.career-dialog nav { display:flex; gap:8px; padding:16px 24px 0; }
.career-dialog .career-content { overflow-y:auto; padding:24px; min-height:0; }
.career-dialog .career-place { margin:12px 0; display:flex; align-items:baseline; gap:12px; }
.career-dialog .career-place strong { font:900 62px/1 var(--ui-display); }
.career-dialog .career-place > span { color:var(--ui-muted); font:24px var(--ui-mono); }
.career-dialog .career-meta, .career-dialog .career-empty { color:var(--ui-muted); font-size:13px; line-height:1.5; }
.career-dialog .career-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:24px 0; }
.career-dialog .career-metrics span { color:var(--ui-muted); font-size:12px; }
.career-dialog .career-metrics strong { display:block; margin-top:6px; font:20px var(--ui-mono); }
.career-dialog h3 { display:flex; justify-content:space-between; color:var(--ui-warn); font:16px var(--ui-mono); margin:24px 0 14px; }
.career-dialog h3 strong { font-size:24px; }
.career-dialog .career-rewards { margin:0; display:grid; gap:10px; }
.career-dialog .career-progression { padding:12px; border:1px solid var(--ui-edge); color:var(--ui-cyan); font:12px/1.5 var(--ui-mono); }
.career-dialog .career-rewards > div { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--ui-edge); padding-top:10px; font-size:13px; }
.career-dialog dd { color:var(--ui-warn); font-family:var(--ui-mono); margin:0; }
.career-dialog footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:14px 24px; border-top:1px solid var(--ui-edge); }
.career-dialog footer > span { font-size:12px; color:var(--ui-muted); }
.career-dialog .career-history { display:grid; gap:8px; }
.career-dialog .career-history-row { display:grid; grid-template-columns:52px 1fr auto; gap:12px; align-items:center; padding:14px; text-align:left; color:var(--ui-text); background:var(--ui-panel); border:1px solid var(--ui-edge); cursor:pointer; }
.career-dialog .career-history-row > strong { font:900 30px var(--ui-display); }
.career-dialog .career-history-row > span { font-size:12px; }
.career-dialog .career-history-row small { display:block; color:var(--ui-muted); font-size:12px; margin-top:6px; }
.career-dialog .career-history-row > b { font:13px var(--ui-mono); color:var(--ui-warn); }
/* Keep the complete lobby above the fold in short desktop/embed viewports. */
@media(max-height:700px) and (min-width:701px), (min-width:560px) and (max-width:700px) {
 #main-menu { --edge:10px; }
 #main-menu #menu-lobby { grid-template-columns:190px minmax(120px,1fr) 200px; grid-template-rows:42px 1fr 72px; gap:10px; }
 #main-menu .lobby-resources { gap:6px; }
 #main-menu .pilot-wallet { min-width:72px; padding:6px 9px; gap:10px; font-size:10px; }
 #main-menu .pilot-wallet strong { font-size:18px; }
 #main-menu #btn-shop { min-height:38px; padding:7px 10px; font-size:10px; }
 #main-menu .gear-btn { width:38px; height:38px; }
 #main-menu .gear-btn svg { width:20px; height:20px; }
 #main-menu .lobby-brand, #main-menu.scene-ready .lobby-brand { grid-column:1; grid-row:1; }
 #main-menu .lobby-left { display:flex; flex-direction:column; gap:10px; grid-column:1; grid-row:2; align-self:start; min-width:0; min-height:0; }
 #main-menu .pilot-strip { padding:4px 9px; font-size:9px; }
 #main-menu .pilot-body { gap:8px; padding:6px 9px 5px; }
 #main-menu .pilot-emblem { width:40px; height:45px; }
 #main-menu .pilot-emblem b { font-size:20px; }
 #main-menu .pilot-name { font-size:17px; }
 #main-menu .pilot-title, #main-menu .pilot-id { font-size:9px; }
 #main-menu .pilot-xp { padding:0 10px 8px 9px; }
 #main-menu .pilot-xp-head { font-size:9px; }
 #main-menu .pilot-career { padding:0 9px 9px; gap:6px; }
 #main-menu #pilot-career-count { font-size:10px; }
 #main-menu .pilot-career .career-button { min-height:36px; padding:7px 9px; font-size:10px; }
 #main-menu .pilot-account { padding:7px 9px; gap:6px; }
 #main-menu .pilot-account strong, #main-menu .pilot-account [role="status"] { font-size:10px; }
 #main-menu .pilot-account .career-button { min-height:36px; padding:7px 9px; font-size:10px; }
 #main-menu .lobby-right { position:absolute; right:var(--edge); bottom:80px; width:200px; gap:0; }
 #main-menu .menu-mode :is(.career-label,p) { display:none; }
 #main-menu .menu-mode h2 { margin:0; font-size:19px; }
 #main-menu .mech-spec { grid-row:2; padding:8px; }
 #main-menu .mech-spec > .career-label { display:none; }
 #main-menu .mech-spec h2 { font-size:18px; margin:0 0 2px; }
 #main-menu #mech-stat-role { font-size:9px; }
 #main-menu .mech-stat-row { margin-top:6px; font-size:9px; }
 #main-menu .back-callout { position:absolute; grid-column:auto; grid-row:auto; right:var(--edge); top:174px; width:200px; box-sizing:border-box; padding:6px 8px; }
 #main-menu .back-callout > .career-label, #main-menu #back-stats { display:none; }
 #main-menu .back-callout h2 { font-size:18px; margin:4px 0; }
 #main-menu #back-effect { display:none; }
 #main-menu #back-stats { margin:8px 0; }
 #main-menu #back-stats dd { font-size:12px; }
 #main-menu .lobby-bottom { gap:3px; }
 #main-menu .lobby-bottom .menu-mode { padding:0; background:none; border:0; }
 #main-menu .lobby-bottom .menu-mode h2 { font:9px var(--ui-mono); margin:0; text-align:center; }
 #main-menu .lobby-bottom .play-btn { min-height:48px; padding:10px 18px; font-size:21px; }
 #main-menu .lobby-bottom { grid-column:3; grid-row:3; }
 #main-menu .career-last { align-self:stretch; padding:8px; border:1px solid var(--ui-edge); border-top:2px solid var(--ui-action); background:var(--ui-panel-soft); }
 #main-menu .career-card-head { font-size:9px; }
 #main-menu .career-card-result { margin-top:6px; }
 #main-menu #career-placement { font-size:28px; }
 #main-menu #career-total { font-size:11px; margin-left:4px; }
 #main-menu #career-gold { font-size:13px; }
 #main-menu #career-stats { font-size:9px; margin:6px 0; }
 #main-menu #btn-battle-summary { padding:4px 7px; font-size:9px; min-height:32px; }
 #main-menu .mech-roster { grid-row:3; width:min(100%,520px); }
 #main-menu .mech-roster-heading { margin-bottom:5px; }
 #main-menu #mech-thumbnails { --thumb-gap:7px; }
 #main-menu .mech-thumb-name { padding:4px 7px; }
 #main-menu .mech-thumb-name > span { display:none; }
 #main-menu .mech-thumb-name strong { font-size:11px; }
 #main-menu .mech-arrow { top:57%; width:38px; height:50px; }
 #main-menu .mech-arrow span { font-size:48px; }
 #main-menu .mech-prev { left:calc(var(--edge) + 200px); }
 #main-menu .mech-next { right:calc(var(--edge) + 210px); }
 #main-menu .brand-sub { font-size:8px; }
 #main-menu .brand-main { font-size:34px; }
 #main-menu .menu-mode { padding:6px 10px; }
 #main-menu .chassis-btn { padding:9px; gap:6px; }
 #main-menu #menu-loadchip { display:none; }
 .career-dialog header { padding:12px 20px; }
 .career-dialog h2 { font-size:26px; }
 .career-dialog .career-content { padding:16px 20px; }
}
@media(max-height:540px) and (min-width:560px) {
 #main-menu .career-last { padding:6px; }
 #main-menu .career-last :is(.career-card-head,#career-stats) { display:none; }
 #main-menu .career-card-result { margin:0 0 5px; }
 #main-menu #career-placement { font-size:24px; }
 #main-menu #btn-battle-summary { min-height:30px; }
}
@media(max-width:559px) {
 #main-menu #menu-lobby { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; padding-top:16px; gap:16px; }
 #main-menu #menu-lobby > :is(.lobby-left,.lobby-brand,.lobby-right,.lobby-bottom,.lobby-resources,.mech-roster,.back-callout,.mech-spec) { grid-column:1; grid-row:auto; }
 #main-menu .lobby-brand { order:0; }
 #main-menu .lobby-resources { order:1; width:100%; justify-content:space-between; }
 #main-menu .pilot-wallet { flex:1; }
 #main-menu .lobby-left { display:flex; flex-direction:column; gap:16px; order:2; }
 #main-menu .pilot-card { order:2; }
 #main-menu #menu-lobby > .mech-roster { order:3; grid-row:4; padding-top:170px; }
 /* Share the roster row so account details can grow without moving controls
    over the pilot card. The inspection area occupies its top 170px. */
 #main-menu .mech-inspection { position:relative; inset:auto; grid-column:1; grid-row:4; order:3; align-self:start; height:170px; margin:0 60px; }
 #main-menu .mech-spec { order:4; }
 #main-menu .back-callout { order:5; }
 #main-menu #back-leader { display:none; }
 #main-menu .mech-arrow { position:relative; top:auto; grid-column:1; grid-row:4; order:3; align-self:start; margin-top:56px; transform:none; width:44px; height:58px; }
 #main-menu .mech-prev { left:auto; justify-self:start; }
 #main-menu .mech-next { right:auto; justify-self:end; }
 #main-menu .mech-thumb-name > span { display:none; }
 #main-menu .lobby-right { order:4; }
 #main-menu .lobby-bottom { order:6; }
 #main-menu .career-last { order:7; }
 #main-menu .brand-main { font-size:48px; }
 #main-menu .menu-mode h2 { font-size:30px; }
 #main-menu #menu-loadchip { display:none; }
 .career-dialog header, .career-dialog .career-content, .career-dialog footer { padding:14px; }
 .career-dialog nav { padding:14px 14px 0; }
 .career-dialog .career-metrics { gap:8px; }
 .career-dialog .career-history-row { grid-template-columns:40px 1fr; }
 .career-dialog .career-history-row > b { grid-column:2; }
}
@media(prefers-reduced-motion:reduce) { #main-menu * { animation:none!important; transition:none!important; } }
