/* Disposition du HUD (ui/hud.js) : plus d'encart géant à gauche */
#status { display: none !important; }
/* mission : sous le bandeau du haut */
#hud-mission { left: 50%; transform: translateX(-50%); top: calc(var(--u) * 18); display: flex; gap: calc(var(--u) * 6); align-items: center;
  padding: calc(var(--u) * 1.5) calc(var(--u) * 4); }
#hud-mission .bar { margin: 0; grid-template-columns: auto calc(var(--u) * 40); }
#hud-mission .bar span { white-space: nowrap; }
/* vitales : petit bloc en bas à gauche */
#hud-vitals { left: calc(var(--u) * 4); bottom: calc(var(--u) * 4); width: calc(var(--u) * 74); padding: calc(var(--u) * 2) calc(var(--u) * 3); }
#hud-vitals #hud-role { margin-bottom: var(--u); gap: calc(var(--u) * 2); }
#hud-vitals #role-portrait { max-height: calc(var(--u) * 14); }
#hud-vitals #goal-label { display: none; }
#hud-vitals .bar { margin: calc(var(--u) * .8) 0; grid-template-columns: calc(var(--u) * 18) 1fr; }
#hud-vitals .bar i { height: calc(var(--u) * 3); }
#hud-vitals #hud-body { margin-top: var(--u); }
#hud-vitals #crs-hud { margin-top: calc(var(--u) * 2); }
/* barre d'inventaire en bas au centre */
#hotbar { position: fixed; left: 50%; bottom: calc(var(--u) * 3); transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: var(--u); pointer-events: none; }
#hb-row { display: flex; gap: var(--u); align-items: stretch; pointer-events: auto; }
#hb-row #hud-item { margin: 0; padding: var(--u) calc(var(--u) * 3) var(--u) var(--u); box-shadow: none; background: var(--bg); display: flex; align-items: center; gap: calc(var(--u) * 2);
  box-shadow: inset 0 0 0 var(--u) var(--sun); min-height: calc(var(--u) * 13); }
#hb-row #hud-item #item-desc, #hb-row #hud-item #item-mask { display: none; }
#hb-row #item-icon { min-width: calc(var(--u) * 10); min-height: calc(var(--u) * 10); max-height: calc(var(--u) * 11); }
#hb-row #item-name { font-size: calc(var(--u) * 4.4); white-space: nowrap; }
.hb-slot { position: relative; width: calc(var(--u) * 13); height: calc(var(--u) * 13); background: var(--bg); box-shadow: inset 0 0 0 var(--u) var(--ink), inset 0 calc(var(--u) * 2) 0 0 var(--hi);
  display: grid; place-items: center; cursor: pointer; }
.hb-slot:hover { box-shadow: inset 0 0 0 var(--u) var(--sun); }
.hb-slot.empty { opacity: .45; cursor: default; }
.hb-slot canvas { image-rendering: pixelated; width: calc(var(--u) * 10.7); height: calc(var(--u) * 10.7); }
.hb-slot b { position: absolute; right: var(--u); bottom: 0; font: calc(var(--u) * 3.6)/1 'Silk', monospace; color: var(--paper); text-shadow: var(--u) var(--u) 0 var(--ink); }
#hb-desc { position: static; display: none; font-size: calc(var(--u) * 4); padding: var(--u) calc(var(--u) * 3); max-width: calc(var(--u) * 140); text-align: center; color: var(--dim); }
#hb-desc.show { display: block; }
/* menu contextuel juste au-dessus de la barre */
#menu { bottom: calc(var(--u) * 20) !important; }
/* notifications : en haut à gauche, plus petites, trois au plus */
#log { top: calc(var(--u) * 28) !important; bottom: auto !important; left: calc(var(--u) * 4) !important; width: min(calc(var(--u) * 120), 34vw) !important; }
#log div { font-size: calc(var(--u) * 3.8) !important; padding: calc(var(--u) * .5) calc(var(--u) * 2) !important; }
#log div:nth-last-child(n+4) { display: none; }
/* l'encart de gauche n'existe plus : le bandeau se recentre, l'aide (H) et les perfs (P) passent à droite */
#top { left: 50% !important; right: auto !important; transform: translateX(-50%) !important; margin: 0 !important; max-width: calc(100vw - var(--u) * 50) !important; }
#keys { left: auto !important; right: calc(var(--u) * 4) !important; top: auto !important; bottom: calc(var(--u) * 32) !important; }
#perf-panel { left: auto !important; right: calc(var(--u) * 4) !important; top: calc(var(--u) * 46) !important; }
body:has(#keys.show) #perf-panel { display: none !important; }
#top { width: max-content !important; flex-wrap: nowrap !important; max-width: none !important; }
#hud-mission { top: calc(var(--top-b, 52px) + var(--u)) !important; }

/* menu contextuel : l'action surlignée (E) ; la molette change de sélection */
#menu .opt.sel { color: var(--sun); }
#menu .opt[data-i] { cursor: pointer; }
#menu .opt.hint { color: var(--dim); font-size: calc(var(--u) * 3.6); }
/* numéros des cases de la barre */
.hb-slot::before { content: attr(data-k); position: absolute; left: var(--u); top: 0; font: calc(var(--u) * 3.2)/1.2 'Silk', monospace; color: var(--dim); }

/* hors de la partie (menu, bilan, pause, garde à vue…) : pas de HUD de jeu par-dessus les écrans */
body:not([data-scene="game"]):not([data-scene="netgame"]) :is(#hud-mission, #hud-vitals, #hotbar, #keyhint, #log, #menu) { display: none !important; }
/* l'escalade (sim/escalation.js) dit déjà où en est la manif : la pastille de phase (CALME…) ferait doublon */
body.escal-on #phase { display: none !important; }
body:not([data-scene="game"]):not([data-scene="netgame"]) #phone-icon { display: none !important; }
#hud-vitals .bar span { white-space: nowrap; overflow: visible; }
#hud-vitals .bar { grid-template-columns: calc(var(--u) * 22) 1fr !important; }

/* ---------- HUD allégé (volet C de REVIEW.md) ---------- */
/* zone mission vide (quête suivie, pas de ligne de rôle) : pas de cadre vide */
#hud-mission.empty { display: none !important; }
/* une seule tension : celle de l'escalade (ou la pastille de phase sans escalade). L'opinion garde son chiffre, sans jauge ;
   la lecture de terrain du CRS (« TENSION ») fait doublon avec la pastille */
#op #op-bar { display: none !important; }
#crs-b-ten { display: none !important; }
/* « Repéré » : une jauge personnelle, avec la santé en bas à gauche */
#hud-vitals #hud-heat { margin: calc(var(--u) * .8) 0; }
/* objectif du rôle fondu dans le panneau de quête */
#qtrack .qt-goal { display: grid; grid-template-columns: auto 1fr auto; gap: calc(var(--u) * 2); align-items: center; margin-top: calc(var(--u) * 1.5);
  padding-top: calc(var(--u) * 1.5); box-shadow: 0 calc(var(--u) * -1) 0 var(--hi); font-size: calc(var(--u) * 3.6); color: var(--dim); }
#qtrack .qt-goal span { font: calc(var(--u) * 3.2)/1 'Silk', monospace; text-transform: uppercase; }
#qtrack .qt-goal i { display: block; height: calc(var(--u) * 2); background: var(--ink); position: relative; }
#qtrack .qt-goal i::after { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: var(--v, 0%); background: var(--sun); opacity: .7; }
#qtrack .qt-goal b { color: var(--paper); font-weight: 400; }
/* le CRS n'a pas de rumeurs dans son journal */
body.role-crs #log .rumor { display: none; }
/* l'info-bulle de l'objet en main (« Brandir : … ») ne passe pas sous le menu E */
body:has(#menu.show) #hb-desc { display: none !important; }
/* aide H par rôle (Hud.help) : la section du rôle sous les commandes communes ; l'ancien bloc CRS est remplacé */
#keys .help-role { margin-top: calc(var(--u) * 2); padding-top: calc(var(--u) * 2); box-shadow: 0 calc(var(--u) * -1) 0 var(--hi); }
#keys .help-role b { color: var(--sun); font-weight: 400; }
#keys .help-role em { font-style: normal; color: var(--blue); margin-right: var(--u); }
#keys #crs-keys { display: none !important; }
#keys { max-width: min(calc(var(--u) * 140), 36vw); white-space: normal; }
/* « Compétence apprise » : sous la zone mission (au centre, elle recouvrait le butin du casseur et l'objectif) */
#skill-note { top: calc(var(--top-b, 52px) + var(--u) * 18) !important; }
