
  /* ============ Active-contract HUD ============ */
  #hud{position:absolute;top:44px;right:14px;z-index:95;width:290px;
    background:rgba(16,22,36,.92);backdrop-filter:blur(16px);border:1px solid var(--accent);
    border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 0 1px rgba(var(--accent-rgb),.15);
    display:none;flex-direction:column;overflow:hidden;font-size:13px}
  #hud.on{display:flex;animation:hudIn .25s ease}
  @keyframes hudIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
  .hud-top{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(var(--accent-rgb),.08);
    border-bottom:1px solid var(--edge)}
  .hud-top .live{width:8px;height:8px;border-radius:50%;background:var(--accent);
    box-shadow:0 0 8px var(--accent);animation:blink2 1.4s infinite}
  @keyframes blink2{50%{opacity:.35}}
  .hud-top .ttl{font-weight:700;font-size:12px;letter-spacing:.04em}
  .hud-top .x{margin-left:auto;color:var(--ink-faint);font-size:16px;line-height:1}
  .hud-top .x:hover{color:var(--red)}
  .hud-trace{display:none;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--edge)}
  .hud-trace .tb{flex:1;height:6px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
  .hud-trace .tb i{display:block;height:100%;width:100%;background:var(--accent);
    box-shadow:0 0 8px var(--accent);transition:width .1s linear}
  .hud-trace .tb i.idle{background:var(--ink-faint);box-shadow:none}
  .hud-trace .tb i.warn{background:var(--amber);box-shadow:0 0 8px var(--amber)}
  .hud-trace .tb i.danger{background:var(--red);box-shadow:0 0 10px var(--red);animation:tracePulse .6s infinite}
  @keyframes tracePulse{50%{opacity:.5}}
  .hud-trace span{font-family:var(--mono);font-size:11px;color:var(--ink-dim);min-width:64px;text-align:right}
  .hud-obj{padding:12px;display:flex;flex-direction:column;gap:9px}
  .hud-obj .o{display:flex;gap:9px;align-items:flex-start;color:var(--ink-dim)}
  .hud-obj .o .bx{flex:none;width:15px;height:15px;border:1px solid var(--ink-faint);border-radius:4px;
    display:grid;place-items:center;font-size:10px;color:transparent;margin-top:1px}
  .hud-obj .o.done{color:var(--ink)}
  .hud-obj .o.done .bx{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.12)}
  .hud-hint{display:none !important;padding:10px 12px;border-top:1px solid var(--edge);gap:8px;align-items:flex-start;
    color:var(--amber);font-size:12px;line-height:1.45;background:rgba(255,180,84,.05)}
  .hud-hint .lb{font-size:14px}
  .hud-foot{display:none !important;gap:8px;padding:10px 12px;border-top:1px solid var(--edge)}
  .hud-foot button{flex:1;padding:7px;border-radius:7px;border:1px solid var(--edge);font-size:12px;color:var(--ink-dim)}
  .hud-foot button:hover{background:rgba(255,255,255,.06);color:var(--ink)}