/* ==========================================================================
   sim.css — 飞行视窗 / HUD / 环境条
   ========================================================================== */
.stage-canvas-wrap{
  position:relative;flex:1 1 auto;min-height:0;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  background:#0a1017;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.05);
}
#view{display:block;width:100%;height:100%;}

/* ---------------- HUD ---------------- */
.hud{position:absolute;z-index:4;pointer-events:none;}
.hud-tl{left:12px;top:12px;}
.hud-tr{right:12px;top:12px;}
.hud-br{right:12px;bottom:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-end;}
.hud-bc{left:0;right:0;top:16%;display:flex;justify-content:center;}
.hud-tr2{right:12px;top:176px;pointer-events:auto;}

.hud-tl{
  display:grid;grid-template-columns:auto auto;gap:2px 10px;
  padding:10px 14px;border-radius:12px;
  background:rgba(9,15,22,.62);
  backdrop-filter:blur(8px);
  border:1px solid rgba(88,120,150,.28);
}
.hud-row{display:flex;align-items:baseline;gap:5px;}
.hud-row span{font-size:10.5px;color:#7f97ad;letter-spacing:.4px;width:78px;}
.hud-row b{font:800 19px/1 var(--mono);color:#dff1ff;min-width:44px;text-align:right;}
.hud-row i{font-size:10px;color:#6e8598;font-style:normal;}

.chip{
  padding:5px 11px;border-radius:20px;
  background:rgba(9,15,22,.68);backdrop-filter:blur(6px);
  border:1px solid rgba(88,120,150,.3);
  font-size:11.5px;font-weight:600;color:#b7cbdd;letter-spacing:.3px;
  white-space:nowrap;
}
.chip.ok{border-color:rgba(34,197,94,.5);color:#86efac;background:rgba(10,30,18,.7);}
.chip.warn{border-color:rgba(245,158,11,.5);color:#fcd34d;background:rgba(35,25,5,.7);}
.chip.bad{border-color:rgba(239,68,68,.55);color:#fca5a5;background:rgba(38,10,12,.72);}

.minimap-wrap{
  width:158px;height:158px;border-radius:12px;overflow:hidden;
  background:rgba(9,15,22,.62);backdrop-filter:blur(8px);
  border:1px solid rgba(88,120,150,.28);
  padding:4px;
}
#minimap{width:150px;height:150px;display:block;border-radius:8px;}

.bigwarn{
  padding:10px 26px;border-radius:12px;
  background:rgba(45,8,10,.82);border:1px solid #ef4444;
  color:#fecaca;font-size:17px;font-weight:800;letter-spacing:1.5px;
  box-shadow:0 0 30px rgba(239,68,68,.4);
  animation:warnPulse 1.1s ease-in-out infinite;
  text-align:center;
}
.bigwarn.warn{background:rgba(45,32,4,.85);border-color:#f59e0b;color:#fde68a;box-shadow:0 0 30px rgba(245,158,11,.35);}
.bigwarn.info{background:rgba(6,25,38,.85);border-color:#0ea5e9;color:#bae6fd;box-shadow:0 0 30px rgba(14,165,233,.3);animation:none;}
@keyframes warnPulse{0%,100%{opacity:1;}50%{opacity:.62;}}

/* 首次提示卡 */
.tip-card{
  width:236px;padding:12px 14px;border-radius:12px;
  background:rgba(13,22,32,.9);backdrop-filter:blur(10px);
  border:1px solid #2f4b66;box-shadow:var(--shadow);
  font-size:12px;color:#c3d6e8;line-height:1.6;
}
.tip-card b{display:block;font-size:13px;color:#7dd3fc;margin-bottom:4px;letter-spacing:.5px;}
.tip-card p{margin:0 0 8px;}
.tip-card .btn{width:100%;}

/* ---------------- 环境 / 执行条 ---------------- */
.envbar{
  flex:0 0 auto;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:8px 10px;border-radius:12px;
  background:linear-gradient(180deg,#141d27,#101720);
  border:1px solid var(--line-soft);
}
.env-group{display:flex;align-items:center;gap:7px;}
.env-group.switches{gap:12px;margin-left:auto;}
.env-group .btn{padding:7px 11px;font-size:12px;}
.sw{
  display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--txt-2);
  cursor:pointer;user-select:none;white-space:nowrap;
}
.sw input{
  appearance:none;width:30px;height:16px;border-radius:10px;background:#25323f;
  border:1px solid #37485a;position:relative;cursor:pointer;transition:.15s;margin:0;
}
.sw input::after{
  content:"";position:absolute;left:2px;top:1.5px;width:11px;height:11px;border-radius:50%;
  background:#7c8fa3;transition:.15s;
}
.sw input:checked{background:#0e4a63;border-color:#1d7fa4;}
.sw input:checked::after{left:15px;background:#38bdf8;}
.sw input:checked ~ span{color:#7dd3fc;}

#btnRxPower.on{border-color:#1e5c3a;color:#86efac;background:linear-gradient(180deg,#10281a,#0c1f14);}
#btnArm.on{border-color:#7c2d12;color:#fdba74;background:linear-gradient(180deg,#2a1a10,#1f130c);}

@media (max-width:1560px){
  .hud-row span{width:66px;font-size:9.5px;}
  .hud-row b{font-size:16px;min-width:36px;}
  .minimap-wrap{width:128px;height:128px;}
  #minimap{width:120px;height:120px;}
  .hud-tr2{top:146px;}
  .env-group .btn{padding:6px 9px;font-size:11.5px;}
  .env-group.switches{gap:9px;}
  .sw{font-size:10.5px;}
  .tip-card{width:206px;font-size:11.5px;}
}
