.mission-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.mission-card { display:flex; flex-direction:column; background:#071b16; border:1px solid var(--line); border-radius:12px; padding:22px; min-width:0; }
.mission-card h2 { font-size:28px; margin:0 0 10px; }
.mission-card p { line-height:1.6; }
.mission-card dl { margin-top:auto; }
.mission-card dl > div { display:flex; justify-content:space-between; gap:8px; border-top:1px solid var(--line); padding:10px 0; }
.mission-card dd { color:var(--lime); margin:0; text-align:right; }
.mission-card button { min-height:48px; }
.mission-loadout { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:20px; }
.mission-loadout span { flex-basis:100%; line-height:1.6; }
.mission-help { line-height:1.6; max-width:760px; }
.mission-help summary { cursor:pointer; font-weight:700; }
.nitro-hud { position:absolute; right:22px; bottom:105px; color:#64e5eb; background:#081d25ed; padding:10px 15px; border:1px solid #64e5eb; border-radius:8px; font-weight:700; pointer-events:none; }
#missionProgress { position:absolute; top:70px; left:50%; transform:translateX(-50%); width:min(340px,45vw); padding:12px; background:#071c1deb; border:1px solid #83b651; border-radius:10px; text-align:center; }
#missionProgress strong { color:var(--lime); font-size:24px; }
#missionProgress small { display:block; margin-top:5px; }
#missionProgress progress { width:100%; height:7px; margin-top:7px; }
body #touchControls [data-control="nitro"] { font-size:12px; color:#69e7ef; border:1px solid #69e7ef; }
/* The touch button already shows boost/cooldown; keep its duplicate HUD off the controls. */
.mobile-play .nitro-hud { display:none; }
@media(max-width:900px) { .mission-cards { grid-template-columns:1fr; } .mission-card { padding:18px; } }
@media(max-width:760px) { #missionProgress { top:65px; left:auto; right:8px; transform:none; width:46%; padding:8px; } #missionProgress strong { font-size:19px; } #missionProgress small { font-size:10px; } .nitro-hud { bottom:200px; right:8px; font-size:10px; padding:6px; } }
@media(max-height:500px) and (orientation:landscape) { #missionProgress { top:55px; width:210px; right:8px; left:auto; transform:none; } .nitro-hud { bottom:78px; } }
.mobile-play #missionProgress {
  box-sizing: border-box;
  top: max(70px, calc(env(safe-area-inset-top) + 64px));
  right: max(8px, env(safe-area-inset-right));
  left: auto;
  transform: none;
  width: min(46vw, 210px);
  padding: 6px 8px;
  pointer-events: none;
}
.mobile-play #missionProgress strong { font-size: 16px; }
.mobile-play #missionProgress small { font-size: 10px; overflow-wrap: anywhere; }
.boss-play #missionProgress { top: 155px; width: min(300px, 40vw); pointer-events: none; }
.mobile-play.boss-play #missionProgress { top: 116px; width: min(42vw, 190px); }
.boss-play #missionDistanceBar { display: none; }
.boss-play #missionProgress strong { font-size: 15px; }
@media(max-height:500px) and (orientation:landscape) {
  .mobile-play #missionProgress { top: max(64px, calc(env(safe-area-inset-top) + 58px)); }
}
