/* Combat feedback in the HUD: the reload / chamber prompt, the ally
   markers. The HUD's own clusters (score, feed, health, abilities, weapons, squad) are bh-hud.css. */
#hud { --hud-paper:#f0f1ed; --hud-ink:rgba(28,30,31,.88); --hud-line:rgba(230,233,226,.27); }
#hud [hidden] { display:none!important; }
.sprint-dot { width:3px;height:3px;background:#fff;box-shadow:0 0 0 1px #5b5d5b; }
#weaponPrompt { bottom:32%;right:auto;left:50%;transform:translateX(-50%);padding:10px 16px 11px;min-width:160px;border:1px solid #bfc3b6;border-radius:2px;background:rgba(29,31,31,.9);color:#eeeee0;letter-spacing:.11em;font:600 12px/1 Inter,system-ui,sans-serif;text-shadow:none;z-index:8; }
.prompt-copy { display:flex;align-items:center;justify-content:center;gap:11px; }
.prompt-copy kbd { display:grid;place-items:center;min-width:24px;height:25px;padding:0 5px;border:1px solid #bfc3b6;border-radius:2px;font:700 12px/1 ui-monospace,monospace;background:#eeeee0;color:#222625; }
.prompt-track { position:absolute;bottom:0;left:0;right:0;height:3px;display:none;background:#555b53; }
.prompt-track i { display:block;height:100%;background:#d0d9be;transform-origin:left; }
#weaponPrompt[data-state="cycling"] .prompt-track,#weaponPrompt[data-state="reloading"] .prompt-track { display:block; }
#weaponPrompt[data-state="empty"] { border-color:#d8c69b; }
.ally-marker { position:absolute;top:0;left:0;width:0;height:0;pointer-events:none;filter:drop-shadow(0 1px 1px #292e28); }
.ally-marker:after { content:"";position:absolute;left:-5px;top:-6px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--cyan); }
/* B328 (owner 31/10, variant C): while an ally is wounded his health bar takes the marker's place, one sign over his
   head. B429 (owner 04/11, his reference): «HP» on the left and «84/100» (now / max) on the right over one continuous bar,
   rounded, in a light frame (--ink), the fill --green with its own rounded ends on a dark track (--surface-0); under 30 %
   the fill --red. The HUD scale (--hk) sizes it, the labels never under 11 px. hud.js spots writes it only when his
   health (in whole HP) changes. */
.ally-marker.is-hurt:after { display:none; }
.ally-bar { --ab:calc(var(--hk, 1) * 1px); position:absolute;left:0;bottom:calc(4 * var(--ab));width:calc(80 * var(--ab));transform:translateX(-50%);display:flex;flex-direction:column;gap:calc(3 * var(--ab)); }
.ally-bar[hidden] { display:none; }
.ally-bar .ally-bar-hp { display:flex;justify-content:space-between;align-items:baseline;font:800 max(11px, calc(13 * var(--ab)))/1 var(--font-ui);color:var(--ink);letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap; }
.ally-bar .ally-track { display:block;box-sizing:border-box;height:calc(14 * var(--ab));padding:calc(2 * var(--ab));background:var(--surface-0);border:calc(2 * var(--ab)) solid var(--ink);border-radius:calc(4 * var(--ab)); }
.ally-bar .ally-track b { display:block;height:100%;width:100%;background:var(--green);border-radius:calc(2 * var(--ab)); }
.ally-marker.is-low .ally-track b { background:var(--red); }
/* B429: the nearer wounded ally's bar on top of a farther one (hud.js spots sets z-index by whole metres); the marker
   row its own stacking context, so those z-indexes never climb over the HUD's plates */
#spx { isolation:isolate; }
