.game-file-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 20px;border-top:1px solid #2d5864;background:#091c26}.game-file-tools p{flex:1 1 240px;margin:0;color:#95afbc;font-size:13px}.game-file-tools button{min-height:40px}.ai-recovery-clock{width:min(240px,100%);display:grid;gap:4px;margin-inline:auto}.ai-recovery-clock progress{appearance:none;width:100%;height:6px;border:1px solid #286476;background:#0a222d;overflow:hidden}.ai-recovery-clock progress::-webkit-progress-bar{background:#0a222d}.ai-recovery-clock progress::-webkit-progress-value{background:#51d7e9}.ai-recovery-clock progress::-moz-progress-bar{background:#51d7e9}.ai-recovery-clock small{font-size:10px;letter-spacing:.03em;color:#a4c3ce}.bottom-bar-toggle{font-size:11px;white-space:nowrap;min-height:32px;padding:5px 9px}.bottom-bar-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle;margin-right:4px}.hud-utilities{gap:6px}.game-file-tools button:focus-visible,.bottom-bar-toggle:focus-visible{outline:2px solid #69e3ef;outline-offset:3px}@media(max-width:640px){.game-file-tools{padding:10px}.game-file-tools p{flex-basis:100%}.bottom-bar-toggle [data-bottom-bar-label]{font-size:10px}}
.bottom-bar-toggle{pointer-events:auto}
#battle-screen #toggle-bottom-bar{display:inline-flex;align-items:center;justify-content:center;gap:6px;pointer-events:auto}
#battle-screen #toggle-bottom-bar svg{flex-shrink:0;margin-right:0}
/* The utility area now contains two buttons, so its mobile grid track must fit both. */
@media(max-width:900px){#battle-screen #toggle-bottom-bar [data-bottom-bar-label]{display:none}}
@media(max-width:700px){#battle-screen .battle-top-hud{grid-template-columns:minmax(0,1fr) auto}.game-file-tools button{min-height:44px}}

/* Allow the complete operation route to fit on a desktop display. */
#campaign-dialog{width:min(1280px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 36px)}
#campaign-dialog .campaign-current{margin-top:14px;padding:12px 16px}
#campaign-dialog .campaign-stats{margin-bottom:16px}
@media(max-width:650px){#campaign-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:10px}#campaign-dialog .campaign-overview{padding:12px}}
